![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtPropRecord.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtPropRecord_H_ 00014 #define DtPropRecord_H_ 00015 00016 #include <makArchives/makArchives.h> 00017 00018 namespace makArchives 00019 { 00022 class DT_DLL_MAKARCHIVES DtPropRecord 00023 { 00024 public: 00025 00027 DtPropRecord(); 00028 00030 ~DtPropRecord(); 00031 00033 DtPropRecord(const DtPropRecord& orig); 00034 00036 DtPropRecord& operator=(const DtPropRecord& orig); 00037 00039 void setName(const std::string& name); 00040 00042 const std::string& name() const; 00043 00045 void setPosition(double x, double y, double z); 00046 00048 void getPosition(double& xOut, double& yOut, double& zOut) const; 00049 00051 void setOrientation(double x, double y, double z, double w); 00052 00054 void getOrientation(double& xOut, double& yOut, double& zOut, double& wOut) const; 00055 00057 void setPropType(const std::string& propType); 00058 00060 const std::string& propType() const; 00061 00063 void setModelDefOrNodeAddress(const std::string& modelDefOrNodeAddress); 00064 00066 const std::string& modelDefOrNodeAddress() const; 00067 00069 void setIsModelDef(bool bIsModelDef); 00070 00072 bool isModelDef() const; 00073 00075 void setColor(float r,float g, float b,float alpha); 00076 00078 void getColor(float& r,float& g, float& b,float& alpha) const; 00079 00081 void setIsVisible(bool flag); 00082 00084 bool isVisible() const; 00085 00086 protected: 00087 00089 friend class boost::serialization::access; 00090 00094 template<class Archive> 00095 void serialize(Archive & ar, const unsigned int version) 00096 { 00097 ar & BOOST_SERIALIZATION_NVP(myName); 00098 ar & BOOST_SERIALIZATION_NVP(myPosX); 00099 ar & BOOST_SERIALIZATION_NVP(myPosY); 00100 ar & BOOST_SERIALIZATION_NVP(myPosZ); 00101 ar & BOOST_SERIALIZATION_NVP(myOrientationX); 00102 ar & BOOST_SERIALIZATION_NVP(myOrientationY); 00103 ar & BOOST_SERIALIZATION_NVP(myOrientationZ); 00104 ar & BOOST_SERIALIZATION_NVP(myOrientationW); 00105 ar & BOOST_SERIALIZATION_NVP(myPropType); 00106 ar & BOOST_SERIALIZATION_NVP(myModelDefOrNodeAddress); 00107 ar & BOOST_SERIALIZATION_NVP(myIsModelDefFlag); 00108 ar & BOOST_SERIALIZATION_NVP(myColorR); 00109 ar & BOOST_SERIALIZATION_NVP(myColorG); 00110 ar & BOOST_SERIALIZATION_NVP(myColorB); 00111 ar & BOOST_SERIALIZATION_NVP(myColorA); 00112 ar & BOOST_SERIALIZATION_NVP(myIsVisible); 00113 } 00114 00115 protected: 00116 00117 std::string myName; 00118 00119 double myPosX; 00120 double myPosY; 00121 double myPosZ; 00122 double myOrientationX; 00123 double myOrientationY; 00124 double myOrientationZ; 00125 double myOrientationW; 00126 std::string myPropType; 00127 std::string myModelDefOrNodeAddress; 00128 bool myIsModelDefFlag; 00129 float myColorR; 00130 float myColorG; 00131 float myColorB; 00132 float myColorA; 00133 bool myIsVisible; 00134 00135 }; 00136 00137 typedef std::vector<DtPropRecord> DtPropRecords; 00138 } 00139 00140 #endif 00141