VR-Forces 4.0.4 Class Documentation
include/vrfmodel/mountElevAct.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: mountElevAct.h,v $ $Revision: 1.22 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtMountingElevationActuator_H_
00016 #define DtMountingElevationActuator_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 DtElevationMountComponentDescriptor;
00026 
00031 #include "vrfmodel/vrfmodelDefines.h"
00032 class DT_DLL_vrfmodel DtMountingElevationActuator : public DtActuatorComponent
00033 {
00034 
00035 public:
00036 
00039    DtMountingElevationActuator(const DtString& name, 
00040       DtVrfObject* owner,
00041       DtSimManager* simManager, 
00042       DtComponentDescriptor* desc = 0,
00043       DtReaderWriterRegistry* parentRegistry = 0);
00044 
00046    virtual ~DtMountingElevationActuator();
00047 
00049    virtual bool postAddComponentsInit();
00050 
00053    virtual DtString type() const;
00054 
00056    virtual void tick();
00057 
00058    virtual void setMaxElevateRate(DtReal maxElevateRate);
00059    virtual DtReal maxElevateRate() const;
00060 
00061    virtual void setNominalElevation(DtReal nominalElevation);
00062    virtual DtReal nominalElevation() const;
00063 
00064    virtual void setElevationRange(DtReal elevationRange);
00065    virtual DtReal elevationRange() const;
00066 
00070    static DtSimComponent * creator(const DtString& name, 
00071       DtVrfObject* owner,
00072       DtSimManager* simManager, 
00073       DtComponentDescriptor* desc = 0,
00074       DtReaderWriterRegistry* parentRegistry = 0);
00075 
00081    static double computeDeltaOutsideElevationRange(double nominalElevation, 
00082                                                    double elevationRange,
00083                                                    double angleUnderTest);
00084 
00085 protected:
00086 
00088    virtual bool createPortGroups();
00089 
00091    virtual bool createPorts();
00092 
00093 protected:
00094    
00096    DtMountingElevationActuator();
00097 
00099    DtMountingElevationActuator(const DtMountingElevationActuator & orig);
00100 
00102    const DtMountingElevationActuator & operator=(const 
00103       DtMountingElevationActuator & orig);
00104 
00105 
00106 protected:
00107 
00110 
00116    DtConstrainedAnalogInputPort* myElevationPort;
00117 
00120    DtOutputPortGroup* myElevationInfoPortGroup;
00121 
00127    DtAnalogOutputPort* myNominalElevationPort;
00128 
00134    DtAnalogOutputPort* myElevationRangePort;
00135 
00141    DtAnalogOutputPort* myMaxElevationRatePort;
00142 
00148    DtIntegerOutputPort* myElevationPartTypePort;
00149 
00151 
00152    const DtElevationMountComponentDescriptor* myElevationCompDesc;
00153 
00154    DtReal myMaxElevateRate;
00155    DtReal myNominalElevation;
00156    DtReal myElevationRange;
00157 
00158    DtArticulatedPartStateRepository *myRotatingBody;
00159 };
00160 
00161 #endif

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)