|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfr.cnes.genius.main.GComponent
fr.cnes.genius.lowLevel.GPanel
fr.cnes.genopus.forces.GPForceModels
public class GPForceModels
Class containing force models definition widget.
| Index | Class | Item | Constraint |
| 0 | GPEarthPotentialForceModel | earthPotentialForceModel | "newline" (see table below) |
| 1 | GPThirdBodyForceModel | thirdBodyForceModel | "newline" (see table below) |
| 2 | GPAeroForceModel | aeroForceModel | "newline" (see table below) |
| 3 | GPSRPForceModel | srpForceModel | "newline" (see table below) |
| 4 | GPRediffusedSRPForceModel | rediffusedSRPForceModel | "newline" (see table below) |
| 5 | GPOceanTidesForceModel | oceanTidesForceModel | "newline" (see table below) |
| Index | Class | Item | Constraint |
| 0, 0 | GLabelWithIndicator | earthPotentialLabel | 0, 0, 0 =>
"newline , gapleft 0 , split 2" 0, 0, 1 => "wmin 128" |
| 0, 1 | GChoice | attractionModelChoice | 0, 1, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 1, 0, 1 => (null) 0, 1, 1 => "split" |
| 0, 2 | GComboBoxWithLabel | earthPotentialFileComboBox | 0, 2, 0,
0 => "newline , gapleft 20 , split 2" 0, 2, 0, 1 => (null) 0, 2, 1 => (null) |
| 0, 3 | GEntryInt | maxOrdDegEntryInt | 0, 3, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 3, 0, 1 => (null) 0, 3, 1 => (null) |
| 0, 4 | GEntryInt | degreeEntryInt | 0, 4, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 4, 0, 1 => (null) 0, 4, 1 => (null) |
| 0, 5 | GEntryInt | orderEntryInt | 0, 5, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 5, 0, 1 => (null) 0, 5, 1 => (null) |
| 0, 6 | GEntryInt | degreeOptionalEntryInt | 0, 6, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 6, 0, 1 => (null) 0, 6, 1 => (null) |
| 0, 7 | GEntryInt | orderOptionalEntryInt | 0, 7, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 7, 0, 1 => (null) 0, 7, 1 => (null) |
| 0, 8 | GChoice | coeffsComputedOnceChoice | 0, 8, 0, 0 =>
"newline , gapleft 20 , split 2" 0, 8, 0, 1 => (null) 0, 8, 1 => "split" |
| Index | Class | Item | Constraint |
| 1, 0 | GCheckBoxWithIndicator | thirdBodyCheckBox | 1,
0, 0, 0 => "newline , gapleft 0 , split 2" 1, 0, 0, 1 => (null) 1, 0, 1 => (null) |
| 1, 1 | GCheckBoxWithIndicator | thirdBodyMoonCheckBox | 1, 1, 0, 0
=> "newline , gapleft 20 , split 2" 1, 1, 0, 1 => (null) 1, 1, 1 => (null) |
| 1, 2 | GCheckBoxWithIndicator | thirdBodySunCheckBox | 1, 2, 0, 0
=> "newline , gapleft 20 , split 2" 1, 2, 0, 1 => (null) 1, 2, 1 => (null) |
| 1, 3 | GCheckBoxWithIndicator | thirdBodyVenusCheckBox | 1, 3, 0, 0
=> "newline , gapleft 20 , split 2" 1, 3, 0, 1 => (null) 1, 3, 1 => (null) |
| 1, 4 | GCheckBoxWithIndicator | thirdBodyMarsCheckBox | 1, 4, 0, 0
=> "newline , gapleft 20 , split 2" 1, 4, 0, 1 => (null) 1, 4, 1 => (null) |
| 1, 5 | GCheckBoxWithIndicator | thirdBodyJupiterCheckBox | 1, 5, 0,
0 => "newline , gapleft 20 , split 2" 1, 5, 0, 1 => (null) 1, 5, 1 => (null) |
| Index | Class | Item | Constraint |
| 2, 0 | GCheckBoxWithIndicator | aeroForceCheckBox | 2, 0, 0,
0 => "newline , gapleft 0 , split 2" 2, 0, 0, 1 => (null) 2, 0, 1 => (null) |
| 2, 1 | GChoice | aeroModelChoice | 2, 1, 0, 0 =>
"newline , gapleft 20 , split 2" 2, 1, 0, 1 => (null) 2, 1, 1 => "split" |
| 2, 2 | GChoice | solarActivityChoice | 2, 2, 0, 0 =>
"newline , gapleft 40 , split 2" 2, 2, 0, 1 => (null) 2, 2, 1 => "split" |
| 2, 3 | GEntryReal | f107EntryReal | 2, 3, 0, 0 =>
"newline , gapleft 60 , split 2" 2, 3, 0, 1 => (null) 2, 3, 1 => (null) |
| 2, 4 | GEntryReal | apEntryReal | 2, 4, 0, 0 => "newline , gapleft 60 , split 2" 2, 4, 0, 1 => (null) 2, 4, 1 => (null) |
| 2, 5 | GButton | loadSolarActivityFileButton | "newline , skip 1" |
| 2, 6 | GEntryString | loadedSolarActivityFileEntryString | 2, 6, 0, 0 =>
"newline , gapleft 60 , split 2" 2, 6, 0, 1 => (null) 2, 6, 1 => (null) |
| 2, 7 | GEntryReal | densityH0EntryReal | 2, 7, 0, 0 =>
"newline , gapleft 40 , split 2" 2, 7, 0, 1 => (null) 2, 7, 1 => "split 2" 2, 7, 2 => (null) |
| 2, 8 | GEntryReal | h0EntryReal | 2, 8, 0, 0 =>
"newline , gapleft 40 , split 2" 2, 8, 0, 1 => (null) 2, 8, 1 => "split 2" 2, 8, 2 => (null) |
| 2, 9 | GEntryReal | hScaleEntryReal | 2, 9, 0, 0 =>
"newline , gapleft 40 , split 2" 2, 9, 0, 1 => (null) 2, 9, 1 => "split 2" 2, 9, 2 => (null) |
| 2, 10 | GEntryReal | multipAeroForceEntryReal | 2, 10, 0, 0 =>
"newline , gapleft 20 , split 2" 2, 10, 0, 1 => (null) 2, 10, 1 => (null) |
| Index | Class | Item | Constraint |
| 3, 0 | GCheckBoxWithIndicator | sRPCheckBox | 3, 0, 0, 0 =>
"newline , gapleft 0 , split 2" 3, 0, 0, 1 => (null) 3, 0, 1 => (null) |
| 3, 1 | GEntryReal | refDistEntryReal | 3, 1, 0, 0 =>
"newline , gapleft 20 , split 2" 3, 1, 0, 1 => (null) 3, 1, 1 => "split 2" 3, 1, 2 => (null) |
| 3, 2 | GEntryReal | refPressureEntryReal | 3, 2, 0, 0 =>
"newline , gapleft 20 , split 2" 3, 2, 0, 1 => (null) 3, 2, 1 => "split 2" 3, 2, 2 => (null) |
| 3, 3 | GEntryReal | multipSRPEntryReal | 3, 3, 0, 0 =>
"newline , gapleft 20 , split 2" 3, 3, 0, 1 => (null) 3, 3, 1 => (null) |
| Index | Class | Item | Constraint |
| 4, 0 | GCheckBoxWithIndicator | rediffusedSRPCheckBox | 4, 0, 0, 0 =>
"newline , gapleft 0 , split 2" 4, 0, 0, 1 => (null) 4, 0, 1 => (null) |
| 4, 1 | GCheckBoxWithIndicator | rediffusedAlbedoCheckBox | 4, 1, 0,
0 => "newline , gapleft 20 , split 2" 4, 1, 0, 1 => (null) 4, 1, 1 => (null) |
| 4, 2 | GCheckBoxWithIndicator | rediffusedInfraredCheckBox | 4, 2,
0, 0 => "newline , gapleft 20 , split 2" 4, 2, 0, 1 => (null) 4, 2, 1 => (null) |
| 4, 3 | GEntryReal | multipRediffusedAlbedo | 4, 3, 0, 0 =>
"newline , gapleft 40 , split 2" 4, 3, 0, 1 => (null) 4, 3, 1 => (null) |
| 4, 4 | GEntryReal | multipRediffusedInfrared | 4, 4, 0, 0 =>
"newline , gapleft 40 , split 2" 4, 4, 0, 1 => (null) 4, 4, 1 => (null) |
| Index | Class | Item | Constraint |
| 5, 0 | GCheckBoxWithIndicator | oceanTidesCheckBox | 5,
0, 0, 0 => "newline , gapleft 0 , split 2" 5, 0, 0, 1 => (null) 5, 0, 1 => (null) |
| 5, 1 | GEntryReal | waterDensityEntryReal | 5, 1, 0, 0 =>
"newline , gapleft 20 , split 2" 5, 1, 0, 1 => (null) 5, 1, 1 => "split 2" 5, 1, 2 => (null) |
| 5, 2 | GEntryInt | orderOceanTidesEntryInt | 5, 2, 0, 0 =>
"newline , gapleft 20 , split 2" 5, 2, 0, 1 => (null) 5, 2, 1 => (null) |
| 5, 3 | GEntryInt | degreeOceanTidesEntryInt | 5, 3, 0, 0 =>
"newline , gapleft 20 , split 2" 5, 3, 0, 1 => (null) 5, 3, 1 => (null) |
| 5, 4 | GCheckBoxWithIndicator | withAdmittanceCheckBox | 5, 4, 0, 0
=> "newline , gapleft 20 , split 2" 5, 4, 0, 1 => (null) 5, 4, 1 => (null) |
| Nested Class Summary | |
|---|---|
static class |
GPForceModels.TypeEphemeris
Enum containing ephemeris types. |
| Nested classes/interfaces inherited from class fr.cnes.genius.lowLevel.GPanel |
|---|
fr.cnes.genius.lowLevel.GPanel.Panel, fr.cnes.genius.lowLevel.GPanel.ScrollBarVisibility |
| Nested classes/interfaces inherited from class fr.cnes.genius.main.GComponent |
|---|
fr.cnes.genius.main.GComponent.CopyPasteOperation, fr.cnes.genius.main.GComponent.DisplayIndicatorStatus, fr.cnes.genius.main.GComponent.ItemType, fr.cnes.genius.main.GComponent.Operation |
| Nested classes/interfaces inherited from interface fr.cnes.genopus.main.GPPatriusWithObjects |
|---|
GPPatriusWithObjects.ArgsChecker |
| Field Summary |
|---|
| Fields inherited from class fr.cnes.genius.main.GComponent |
|---|
NAME_ATTRIBUTE |
| Constructor Summary | |
|---|---|
GPForceModels()
Creates a new instance where all forces appear. |
|
GPForceModels(boolean thirdBodyForceIsVisible,
boolean aeroForceIsVisible,
boolean srPForceIsVisible,
boolean rediffusedSRPForceIsVisible,
boolean oceanTidesForceIsVisible,
boolean terrestrialTidesForceIsVisible)
Creates a new instance where the shown forces are customized. |
|
GPForceModels(String widgetId)
Creates a new instance where all forces appear. |
|
GPForceModels(String widgetId,
boolean thirdBodyForceIsVisible,
boolean aeroForceIsVisible,
boolean srPForceIsVisible,
boolean rediffusedSRPForceIsVisible,
boolean oceanTidesForceIsVisible,
boolean terrestrialTidesForceIsVisible)
Creates a new instance where the shown forces are customized. |
|
| Method Summary | |
|---|---|
void |
after(fr.cnes.genius.main.GEvent e)
|
void |
before(fr.cnes.genius.main.GEvent e)
|
void |
clear()
|
void |
display()
|
void |
generic()
|
fr.cnes.sirius.patrius.assembly.Assembly |
getAssembly()
Getter for the assembly used in drag force, SRP and the rediffused SRP force models. |
CustomAtmosphere |
getAtmosphere()
Get the atmospheric model from widget data. |
org.orekit.bodies.ExtendedOneAxisEllipsoid |
getBodyShape()
Getter for the body's ellipsoid that defines its shape. |
fr.cnes.genius.highLevel.GChoice |
getGChoiceEphemerisType()
Getter for the GChoice defining the ephemeris type. |
GPAeroForceModel |
getGPAeroForceModel()
Getter for the Atmospheric Force Model subwidget. |
GPEarthPotentialForceModel |
getGPEarthPotentialForceModel()
Getter for the Earth Potential Force Model subwidget. |
GPOceanTidesForceModel |
getGPOceanTidesForceModel()
Getter for the Ocean Tides Force Model subwidget. |
GPOneAxisEllipsoid |
getGPOneAxisEllipsoidEarthShape()
Getter for the GPOneAxisEllipsoid defining the Earth's ellipsoid. |
GPRediffusedSRPForceModel |
getGPRediffusedSRPForceModel()
Getter for the Rediffused Solar Radiation Pressure Force Model subwidget. |
GPSRPForceModel |
getGPSRPForceModel()
Getter for the Solar Radiation Pressure Force Model subwidget. |
GPTerrestrialTidesForceModel |
getGPTerrestrialTidesForceModel()
Getter for the Terrestrial Tides Force Model subwidget. |
GPThirdBodyForceModel |
getGPThirdBodyForceModel()
Getter for the Third body Force Model subwidget. |
fr.cnes.genius.lowLevel.GSeparator[] |
getGSeparatorsArray()
Getter for the array of GSeparators in the widget. |
double |
getMultiplicativeFactorAero()
Get Aero force model multiplicative factor. |
double |
getMultiplicativeFactorRediffusedSRPAlbedo()
Get redifused SRP force model albedo multiplicative factor. |
double |
getMultiplicativeFactorRediffusedSRPInfrared()
Get redifused SRP force model infrared multiplicative factor. |
double |
getMultiplicativeFactorSRP()
Get SRP force model multiplicative factor. |
CustomForceModels |
getPatriusObject()
Returns the PATRIUS object associated to a GENOPUS widget. |
CustomForceModels |
getPatriusObject(Object... args)
Returns the PATRIUS object associated to a GENOPUS widget. |
GPForceModels.TypeEphemeris |
getSelectedEphemerisType()
Get selected ephemeris type as a GPForceModels.TypeEphemeris enum value. |
fr.cnes.genius.main.GComponent |
getSubComponent(int position)
|
org.orekit.bodies.CelestialBody |
getSun()
Getter for the Sun celestial body to be used for drag force model creation. |
boolean |
isAeroForceModelActive()
Boolean to know if the aero force model is active. |
boolean |
isEnabled()
|
boolean |
isEphemerisTypeVisible()
Boolean to know if the ephemeris type choice is visible. |
boolean |
isOceanTidesForceModelActive()
Boolean to know if the ocean tides force model is active. |
boolean |
isRediffusedSRPForceModelActive()
Boolean to know if the rediffused SRP force model is active. |
boolean |
isSRPForceModelActive()
Boolean to know if the SRP force model is active. |
boolean |
isTerrestrialTidesForceModelActive()
Boolean to know if the terrestrial tides force model is active. |
boolean |
isThirdBodyForceModelActive()
Boolean to know if the third body force model is active. |
void |
read()
|
void |
setAssembly(fr.cnes.sirius.patrius.assembly.Assembly assembly)
Setter for the assembly to be used for drag force, the SRP and the rediffused SRP force models. |
void |
setBodyShape(org.orekit.bodies.ExtendedOneAxisEllipsoid bodyShape)
Set body's shape. |
void |
setBodyShapeWidgetsVisible(boolean b)
Method to force the GPOneAxisEllipsoid widget to be visible/invisible. |
void |
setConstraint(int widgetGap)
Setter for the constraints of the widget. |
void |
setEnabled(boolean b)
|
void |
updateCondensedStatus(fr.cnes.genius.main.GCondensedStatus condensedStatus)
|
void |
write()
|
| Methods inherited from class fr.cnes.genius.lowLevel.GPanel |
|---|
getClassConstraint, getComponent, getHorizontalScroll, getInnerDescendantClassConstraint, getJPanel, getJScrollPane, getStringClassConstraint, getVerticalScroll, mainClear, mainDisplay, put, setClassConstraint, setColumnConstraints, setHorizontalScroll, setInnerDescendantClassConstraint, setLayoutConstraints, setPreferredSize, setRowConstraints, setVerticalScroll |
| Methods inherited from class fr.cnes.genius.main.GComponent |
|---|
activateConstraintsByType, attachCopyPasteMenu, attachCopyPasteMenu, beginOfElement, beginOfElement, beginOfElement, beginOfElement, composeWidgetId, doDisplay, endOfElement, getCommentInConfigFile, getConstraint, getCurrentOperation, getDisplayIndicatorStatus, getDisplayIsModifiedIndicator, getElement, getGPanel, getGParent, getGUnitInConfigFile, getInnerDescendantConstraint, getName, getNameInConfigFile, getOperationSaveValue, getSimpleWidgetId, getStatus, getStringConstraint, getWidgetId, handleCopyPasteEvent, handleProcessEventException, isCopyPasteEvent, isModified, launchInvalidPositionException, parseSimpleConstraint, processGEvent, setBusyCursor, setCommentInConfigFile, setConstraint, setCopyPasteMenuEnabled, setCurrentOperation, setDataForConstraintsByType, setDisplayIsModifiedIndicator, setElement, setGPanel, setGParent, setGUnitInConfigFile, setInnerDescendantConstraint, setNameAndCommentInConfigFile, setNameInConfigFile, setStatus, setStringConstraint, setToolTipText, setWidgetId, setWidth, updateIsModifiedIndicator, writeCollection, writeCollection, writeCollection, writeCollection, writeConfigItem, writeConfigItem, writeConfigItem, writeConfigItem, writeConfigItem |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GPForceModels()
public GPForceModels(String widgetId)
widgetId - widget identifier, if null an identifier will be automatically created.
public GPForceModels(boolean thirdBodyForceIsVisible,
boolean aeroForceIsVisible,
boolean srPForceIsVisible,
boolean rediffusedSRPForceIsVisible,
boolean oceanTidesForceIsVisible,
boolean terrestrialTidesForceIsVisible)
thirdBodyForceIsVisible - if true, third body force IsVisibleaeroForceIsVisible - if true, aerodynamic force IsVisiblesrPForceIsVisible - if true, SRP force IsVisiblerediffusedSRPForceIsVisible - if true, rediffused SRP force IsVisibleoceanTidesForceIsVisible - if true, ocean tides force IsVisibleterrestrialTidesForceIsVisible - if true, terrestrial tides force IsVisible
public GPForceModels(String widgetId,
boolean thirdBodyForceIsVisible,
boolean aeroForceIsVisible,
boolean srPForceIsVisible,
boolean rediffusedSRPForceIsVisible,
boolean oceanTidesForceIsVisible,
boolean terrestrialTidesForceIsVisible)
widgetId - widget identifier, if null an identifier will be automatically created.thirdBodyForceIsVisible - if true, third body force IsVisibleaeroForceIsVisible - if true, aerodynamic force IsVisiblesrPForceIsVisible - if true, SRP force IsVisiblerediffusedSRPForceIsVisible - if true, rediffused SRP force IsVisibleoceanTidesForceIsVisible - if true, ocean tides force IsVisibleterrestrialTidesForceIsVisible - if true, terrestrial tides force IsVisible| Method Detail |
|---|
public void setConstraint(int widgetGap)
widgetGap - left gap from panel border to display the label of the widget.
public void setBodyShape(org.orekit.bodies.ExtendedOneAxisEllipsoid bodyShape)
throws GPFrameException
GPOneAxisEllipsoid widget is shown to manually set body's shape.
bodyShape - body shape to be used to compute force models
GPFrameException - if the ellipsoid cannot be set in a GPOneAxisEllipsoid widgetpublic void setAssembly(fr.cnes.sirius.patrius.assembly.Assembly assembly)
assembly - the assembly to be set.public fr.cnes.sirius.patrius.assembly.Assembly getAssembly()
public GPEarthPotentialForceModel getGPEarthPotentialForceModel()
public GPThirdBodyForceModel getGPThirdBodyForceModel()
public GPAeroForceModel getGPAeroForceModel()
public GPSRPForceModel getGPSRPForceModel()
public GPRediffusedSRPForceModel getGPRediffusedSRPForceModel()
public GPOceanTidesForceModel getGPOceanTidesForceModel()
public GPTerrestrialTidesForceModel getGPTerrestrialTidesForceModel()
public fr.cnes.genius.highLevel.GChoice getGChoiceEphemerisType()
public GPOneAxisEllipsoid getGPOneAxisEllipsoidEarthShape()
public fr.cnes.genius.lowLevel.GSeparator[] getGSeparatorsArray()
public void setEnabled(boolean b)
setEnabled in class fr.cnes.genius.main.GComponentpublic boolean isEnabled()
isEnabled in class fr.cnes.genius.main.GComponent
public void generic()
throws fr.cnes.genius.exception.GException
generic in class fr.cnes.genius.lowLevel.GPanelfr.cnes.genius.exception.GException
public void display()
throws fr.cnes.genius.exception.GException
display in interface fr.cnes.genius.main.GDisplayfr.cnes.genius.exception.GException
public void read()
throws fr.cnes.genius.exception.GException
read in interface fr.cnes.genius.main.GReadWritefr.cnes.genius.exception.GException
public void write()
throws fr.cnes.genius.exception.GException
write in interface fr.cnes.genius.main.GReadWritefr.cnes.genius.exception.GException
public void clear()
throws fr.cnes.genius.exception.GException
clear in interface fr.cnes.genius.main.GClearfr.cnes.genius.exception.GExceptionpublic GPForceModels.TypeEphemeris getSelectedEphemerisType()
GPForceModels.TypeEphemeris enum value.
public CustomForceModels getPatriusObject()
throws GPForcesException
getPatriusObject in interface GPPatrius<CustomForceModels>GPForcesException - if the assembly has not been initialized or if some internal error occurs
public CustomForceModels getPatriusObject(Object... args)
throws fr.cnes.genius.exception.GException
getPatriusObject in interface GPPatriusWithObjects<CustomForceModels>args - The parameters are 0: Assembly or 0: ExtendedOneAxisEllipsoid, 1: Assembly.
fr.cnes.genius.exception.GException - if the PATRIUS object cannot be created from the widget data.public org.orekit.bodies.CelestialBody getSun()
public double getMultiplicativeFactorAero()
public double getMultiplicativeFactorSRP()
public double getMultiplicativeFactorRediffusedSRPAlbedo()
public double getMultiplicativeFactorRediffusedSRPInfrared()
public boolean isThirdBodyForceModelActive()
public boolean isAeroForceModelActive()
public boolean isSRPForceModelActive()
public boolean isRediffusedSRPForceModelActive()
public boolean isOceanTidesForceModelActive()
public boolean isTerrestrialTidesForceModelActive()
public boolean isEphemerisTypeVisible()
public void updateCondensedStatus(fr.cnes.genius.main.GCondensedStatus condensedStatus)
updateCondensedStatus in interface fr.cnes.genius.main.GCondensedStatusInterface
public org.orekit.bodies.ExtendedOneAxisEllipsoid getBodyShape()
throws GPForcesException
GPForcesException - if EOP data is not initializedpublic void setBodyShapeWidgetsVisible(boolean b)
b - if true the widget will be visible, if false it will not.
public CustomAtmosphere getAtmosphere()
throws GPForcesException
GPForcesException - if there is a problem with solar activity provider
public fr.cnes.genius.main.GComponent getSubComponent(int position)
throws fr.cnes.genius.exception.GComponentException
getSubComponent in class fr.cnes.genius.main.GComponentfr.cnes.genius.exception.GComponentException
public void before(fr.cnes.genius.main.GEvent e)
throws fr.cnes.genius.exception.GException
before in interface fr.cnes.genius.main.GListenerfr.cnes.genius.exception.GException
public void after(fr.cnes.genius.main.GEvent e)
throws fr.cnes.genius.exception.GException
after in interface fr.cnes.genius.main.GListenerfr.cnes.genius.exception.GException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||