VR-Forces 4.0.4 Class Documentation
include/vrfmodel/mountAzimAct.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: mountAzimAct.h,v $ $Revision: 1.21 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtMountingAzimuthActuator_H_
00016 #define DtMountingAzimuthActuator_H_
00017 
00018 #include "vrfobjcore/actCmpnt.h"
00019 
00020 class DtString;
00021 class DtSimManager;
00022 class DtConstrainedAnalogInputPort;
00023 class DtAnalogOutputPort;
00024 class DtIntegerOutputPort;   
00025 class DtAzimuthMountComponentDescriptor;
00026 class DtSimObjectBaseObjectStateRepository;
00027 
00031 #include "vrfmodel/vrfmodelDefines.h"
00032 class DT_DLL_vrfmodel DtMountingAzimuthActuator : public DtActuatorComponent
00033 {
00034 
00035 public:
00036 
00039    DtMountingAzimuthActuator(const DtString& name, 
00040       DtVrfObject* owner,
00041       DtSimManager* simManager, 
00042       DtComponentDescriptor* desc = 0,
00043       DtReaderWriterRegistry* parentRegistry = 0);
00044 
00046    virtual ~DtMountingAzimuthActuator();
00047 
00049    virtual bool postAddComponentsInit();
00050 
00053    virtual DtString type() const;
00054 
00056    virtual void tick();
00057 
00058    virtual void setMaxSlewRate(DtReal maxSlewRate);
00059    virtual DtReal maxSlewRate() const;
00060 
00061    virtual void setNominalAzimuth(DtReal nominalAzimuth);
00062    virtual DtReal nominalAzimuth() const;
00063 
00064    virtual void setAzimuthSweepRange(DtReal azimuthSweepRange);
00065    virtual DtReal azimuthSweepRange() const;
00066 
00070    static DtSimComponent * creator(const DtString& name, 
00071       DtVrfObject* owner,
00072       DtSimManager* simManager, 
00073       DtComponentDescriptor* desc = 0,
00074       DtReaderWriterRegistry* parentRegistry = 0);
00075 
00079    static double computeDeltaOutsideAzimuthRange(double nominalAzimuth, 
00080                                                  double azimuthRange,
00081                                                  double angleUnderTest);
00082 
00083 protected:
00084 
00086    virtual bool createPortGroups();
00087 
00089    virtual bool createPorts();
00090 
00091 protected:
00092    
00094    DtMountingAzimuthActuator();
00095 
00097    DtMountingAzimuthActuator(const DtMountingAzimuthActuator & orig);
00098 
00100    const DtMountingAzimuthActuator & operator=(const 
00101       DtMountingAzimuthActuator & orig);
00102 
00103 
00104 protected:
00105 
00106    DtConstrainedAnalogInputPort* myAzimuthPort;
00107 
00110 
00113    DtOutputPortGroup* myAzimuthInfoPortGroup;
00114 
00120    DtAnalogOutputPort* myNominalAzimuthPort;
00121 
00127    DtAnalogOutputPort* myAzimuthRangePort;
00128 
00134    DtAnalogOutputPort* myMaxAzimuthRatePort;
00135 
00141    DtIntegerOutputPort* myAzimuthPartTypePort;
00142    
00144 
00145    DtAzimuthMountComponentDescriptor *myAzimuthCompDesc;
00146 
00147    DtReal myMaxSlewRate;
00148    DtReal myNominalAzimuth;
00149    DtReal myAzimuthSweep;
00150 
00151    DtArticulatedPartStateRepository *myRotatingBody;
00152 };
00153 
00154 #endif
00155 
00156 
00157 
00158 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)