16 #include <vlpi/disEnums.h>
24 class DtArticulatedPartStateRepository;
57 virtual const char*
type()
const;
89 virtual void reorientMounting();
94 virtual void setDesiredAzimuth(DtReal desiredAzimuth);
95 virtual DtReal desiredAzimuth();
101 virtual void setDesiredElevation(DtReal desiredElevation);
102 virtual DtReal desiredElevation();
107 virtual void findDesiredAzimuthAndElevation();
115 virtual bool desiredOrientationIsInRange(
double& azimuthOutOfRangeBy,
116 double& elevationOutOfRangeBy,
double additionalAzimuthMargin = 0.0,
117 double additionalElevationMargin = 0.0);
124 virtual bool azimuthIsInRange(
double azimuth,
double& outofRangeBy,
125 double additionalMargin = 0.0);
132 virtual bool elevationIsInRange(
double elevation,
double& outofRangeBy,
133 double additionalMargin = 0.0);
137 virtual bool createAzimuthPort();
140 virtual bool createElevationPort();
144 virtual bool createAzimuthInfoPorts();
147 virtual bool createElevationInfoPorts();
157 virtual double approximateMountSwing(
double angleChange,
double maxRate);
177 virtual double angleErrorGivenRotationLimits(
double currentAngle,
178 double desiredAngle,
double allowedRotationCenter,
179 double allowedRotationRange);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtIntegerInputPort * myElevationPartTypePort
Input Port Name: elevation-part-type Input Port Description: Type of articulated part Input Port Rang...
Definition: baseMountingController.h:268
DtAnalogInputPort * myMaxElevationRatePort
Input Port Name: elevation-rate Input Port Description: Max elevation rate Input Port Range: Input P...
Definition: baseMountingController.h:261
DtReal myAngleApproxMargin
To prevent endless fine adjustments to the azimuth and elevation we'll use a constant margin to deter...
Definition: baseMountingController.h:305
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
virtual bool postAddComponentsInit() override
Calls enableTaskTypes()
DtAnalogInputPort * myElevationRangePort
Input Port Name: elevation-range Input Port Description: Elevation sweep range Input Port Range: Inp...
Definition: baseMountingController.h:254
DtAnalogInputPort * myMaxAzimuthRatePort
Input Port Name: azimuth-rate Input Port Description: Max azimuth rate. Input Port Range: Input Port...
Definition: baseMountingController.h:228
makVrf::DtArticulatedPartStateRepository * myAzimuthMountPart
Definition: baseMountingController.h:293
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
DtConstrainedAnalogOutputPort * myElevationPort
Output Port Name: elevation Output Port Description: A fraction of the actuator's maximum slew rate a...
Definition: baseMountingController.h:289
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtInputPortGroup * myAzimuthInfoPortGroup
Input Port Group Name: azimuth-info Input Port Group Description: Used to get azimuth information fro...
Definition: baseMountingController.h:207
Definition: readerWriterRegistry.h:39
DtOutputPortGroup is a data port group of a data provider. It may contain any number of DtOutputPorts...
Definition: outputPortGroup.h:34
DtConstrainedAnalogOutputPort is a version of DtAnalogOutputPort which will constrain any outgoing va...
Definition: constrainedAnalogIOPort.h:57
DtAnalogInputPort * myNominalElevationPort
Input Port Name: nominal-elevation Input Port Description: Nominal elevation value. Input Port Range: Input Port Default Value: Input Group Parent: elevation-info.
Definition: baseMountingController.h:247
DtReal myDesiredElevation
Desired elevation angle relative to the body.
Definition: baseMountingController.h:300
DtAnalogInputPort * myNominalAzimuthPort
Input Port Name: nominal-azimuth Input Port Description: Nominal azimuth value. Input Port Range: In...
Definition: baseMountingController.h:214
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
makVrf::DtArticulatedPartStateRepository * myElevationMountPart
Definition: baseMountingController.h:294
makVrf::DtArticulatedPartStateRepository * myChildSimBody
Definition: baseMountingController.h:295
DtReal myDesiredAzimuth
Desired azimuth angle relative to the body.
Definition: baseMountingController.h:298
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Member to allow for access to platform specific data.
Definition: baseMountingController.h:308
DtConstrainedAnalogOutputPort * myAzimuthPort
Output Port Name: azimuth Output Port Description: A fraction of the actuator's maximum slew rate at ...
Definition: baseMountingController.h:281
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:31
virtual bool createPortGroups()
Called by init. Derived classes should override this method to create all their input/output port gro...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
DtIntegerInputPort * myAzimuthPartTypePort
Input Port Name: azimuth-part-type Input Port Description: Type of articulated part. Input Port Range: Input Port Default Value: Input Group Parent: azimuth-info.
Definition: baseMountingController.h:235
DtInputPortGroup * myElevationInfoPortGroup
Input Port Group Name: elevation-info Input Port Group Description: Used to get elevation information...
Definition: baseMountingController.h:240
The DtArticulatedPartStateRepository class is used to represent articulated parts for an entity...
Definition: articulatedPartStateRepository.h:40
DtOutputPortGroup * myMountingControlPortGroup
Output Port Group Name: mounting-control Output Port Group Description: Accepts output from the missi...
Definition: baseMountingController.h:273
DtAnalogInputPort * myAzimuthRangePort
Input Port Name: azimuth-range Input Port Description: Azimuth sweep range. Input Port Range: Input ...
Definition: baseMountingController.h:221
DtBaseMountingController is a controller that generates the azimuth and elevation controls needed to ...
Definition: baseMountingController.h:36
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86