![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtArea3DObject.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 #pragma once 00009 00017 00018 #include <vector> 00019 00020 #include <vlutil/vlString.h> 00021 00022 #include <vrvDrawControl/vrvDrawControlDefines.h> 00023 00024 #include <vrvDrawControl/DtDrawControlObject.h> 00025 00026 #include <vrvDrawControl/DtVdcColor.h> 00027 00028 #include <vl/envPoint.h> 00029 #include <vl/envBndSphere.h> 00030 #include <vrfExtObjects/3dGraphicalObjectStateRecord.h> 00031 00032 00043 00044 namespace vrvControlToolkit 00045 { 00046 class DT_DLL_VRVDRAWCONTROL DtArea3DObject : public DtDrawControlObject 00047 { 00048 public: 00059 DtArea3DObject(DtExerciseConn* exConn, unsigned id, std::vector<DtVector> vertices, 00060 DtVector offset = DtVector::zero(), 00061 DtVdcColor color = DtVdcColor::DtVdcWhite, 00062 const DtString& textureDirectory = "", 00063 const DtString& textureFilename = DtString::nullString(), 00064 int numTextureTiles = 0, bool flashing = false); 00065 00066 // \brief Virtual destructor 00067 virtual ~DtArea3DObject(); 00068 00069 private: 00074 DtArea3DObject(); 00075 00079 DtArea3DObject(const DtArea3DObject& orig); 00080 00084 DtArea3DObject& operator=(const DtArea3DObject& rhs); 00085 00086 public: 00093 virtual const DtVector& offset() const; 00094 00100 virtual void setOffset(const DtVector& off); 00101 00109 virtual const DtVdcColor& color() const; 00110 00118 virtual void setColor (const DtVdcColor& color); 00119 00125 virtual bool flashing() const; 00126 00132 virtual void setFlashing(bool flashing); 00133 00139 virtual const DtString& textureDirectory() const; 00140 00146 virtual void setTextureDirectory(const DtString& str); 00147 00153 virtual const DtString& textureFilename() const; 00154 00160 virtual void setTextureFilename(const DtString& str); 00161 00162 00168 virtual int numTextureTiles() const; 00169 00175 virtual void setNumTextureTiles(int numTextureTiles); 00176 00185 virtual void update(); 00186 00195 virtual const DtVector& vertex(int index) const; 00196 //virtual DtVector& vertex(); 00197 00205 virtual void setVertex(int index, const DtVector& vertex); 00206 00207 virtual void setRemoteGraphicSet(const std::string& setName); 00208 00209 protected: 00210 virtual void calculateBoundingSphere(); 00211 virtual void setStateRecordUserData(); 00212 void initRecords(); 00213 00214 protected: 00215 DtVector myOffset; 00216 DtVdcColor myColor; 00217 bool myFlashing; 00218 int myNumVertices; 00219 std::vector<DtVector> myVertices; 00220 00221 DtString myTextureFilename; 00222 DtString myTextureDirectory; 00223 int myNumTextureTiles; 00224 00225 std::vector<DtEnvironmentalPointRecord> myPointRecords; 00226 DtEnvironmentalBoundingSphereRecord myBoundingSphereRecord; 00227 Dt3DGraphicalObjectStateRecord myStateRecord; 00228 00229 DtVector myEmptyVertex; 00230 }; 00231 }