...
derive the class from the base Attitude class, Kinematic, or another subclass (as appropriate), e.g.
- provide a default constructor, copy constructor, operator=, and destructor
- provide the Initialize and Clone methods
- add protected/private data and methods as needed
- add protected static const data, if needed
- if you add fields that are user-settable, then:
- add them to the protected part of the class
- add a protected enumerated type, including the total parameter count, for the new fields, e.g.
- add the protected static PARAMETER_TEXT and PARAMETER_TYPE arrays for the new fields
- ensure that your copy constructor and operator= handle the new data correctly
- add the appropriate public parameter access methods, e.g. SetRealParameter, GetRealParameter, or SetBoolean, etc.
- add the required public methods GetParameterText, GetParameterID, GetParameterType, and GetParameterTypeString
- if you added a data object, add the required public object access methods (GetRefObjectNameArray, SetRefObject, etc.)
provide the required protected method, ComputeCosineMatrixAndAngularVelocity
...
- if you have added user-settable fields, define the PARAMETER_TEXT and PARAMETER_TYPE arrays
- if you have added static const constants, define them
- implement the default constructor, copy constructor, operator=, and destructor. At a minimum, the paramCount and objectTypeNames must be set in the default constructor, e.g.
- ensure that your copy constructor and operator= handle the new data correctly
- implement the Initialize and Clone methods
- implement methods you added to the class
- implement the parameter and object access methods
- implement the required protected method, ComputeCosineMatrixAndAngularVelocity method
...
Step 6: Inspect the Attitude Panel for needed mods
...
You will
...
need to make mods to the Attitude tab of the Spacecraft panel to add/hide data specific to your model, at least in the Create and DisplayDataForModel methods.
Currently, the Attitude tab on the Spacecraft panel looks like this:
...