![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2012 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00010 00011 #pragma once 00012 00013 #include <vrvCigi/vrvCigi.h> 00014 00015 #include <vrvCore/DtUniqueID.h> 00016 00017 #include <matrix/geodCoord.h> 00018 #include <matrix/vlTaitBryan.h> 00019 00020 namespace makVrv 00021 { 00022 class DtAgentManagerInterface; 00023 class DtCigiConnection; 00024 class DtModelAgent; 00025 class DtSceneObjectAgent; 00026 class DtDeadReckonUpdaterAgent; 00027 class DtAttachableDeadReckonUpdaterAgent; 00028 class DtDeadReckonGroundClampUpdaterAgent; 00029 00034 class DT_DLL_VRVCIGI DtCigiBaseEntity 00035 { 00036 public: 00039 DtCigiBaseEntity(DtCigiConnection& connection, 00040 DtAgentManagerInterface& sceneInterface, int entityId, 00041 int entityType); 00042 00044 virtual ~DtCigiBaseEntity(); 00045 00047 virtual DtUniqueID uniqueId() const; 00048 00050 virtual void setVisible(bool yesNo); 00051 00053 virtual void setDeadReckoningOn(bool onOff); 00054 00056 virtual void setPosition(const DtGeodeticCoord& pos); 00057 00059 virtual void setOrientation(const DtTaitBryan& orientation); 00060 00065 virtual void setLinearRate(const DtVector& rate, bool useWorldCoordinates = true); 00066 00071 virtual void setAngularRate(const DtVector& rate, bool useWorldCoordinates = true); 00072 00074 virtual void setRelativeTo(DtCigiBaseEntity* parent); 00075 00077 virtual void setRelativePosition(const DtVector& pos); 00078 00081 virtual void setRelativeOrientation(const DtTaitBryan& orient); 00082 00084 virtual void setAlpha(int alpha); 00085 00088 virtual int alpha() const; 00089 00091 virtual void setInheritAlpha(bool inherit); 00092 00094 virtual const DtGeodeticCoord& lastSetPosition() const; 00095 00097 virtual const DtTaitBryan& lastSetOrientation() const; 00098 00100 virtual void slot_alphaChanged(int alpha, DtUniqueID id); 00101 00103 virtual void setGroundClampingOn(bool trueFalse); 00104 00105 protected: 00106 void createDeadReckonGroundClampUpdater(); 00107 00108 protected: 00109 DtSceneObjectAgent* mySceneObject; 00110 DtModelAgent* myModel; 00111 DtAttachableDeadReckonUpdaterAgent* myAttachableUpdater; 00112 DtDeadReckonGroundClampUpdaterAgent* myDeadReckonGroundClampUpdater; 00113 00114 bool myDeadReckoningOn; 00115 bool myGroundClampingOn; 00116 00117 DtGeodeticCoord myLastPosition; 00118 DtVector myLastLocalPosition; 00119 00120 DtTaitBryan myLastOrientation; 00121 DtTaitBryan myLastGeocentricOrientation; 00122 00123 DtCigiConnection& myConnection; 00124 DtAgentManagerInterface& mySceneInterface; 00125 00126 int myEntityId; 00127 int myEntityType; 00128 00129 DtCigiBaseEntity* myParent; 00130 bool myInheritAlpha; 00131 int myAlpha; 00132 }; 00133 } 00134