![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: envArticulatingCylinderRecord.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef envArticulatingCylinderRecord_H_ 00009 #define envArticulatingCylinderRecord_H_ 00010 00011 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00012 #include <vl/envGeometry.h> 00013 00014 struct DtNetEnvironmentalArticulatingCylinderRecord : DtNetEnvironmentalRecord 00015 { 00016 DtNetVector64 myStartingLocation; 00017 DtNetFloat32 myCylinderLength; 00018 DtNetEulerAngles myRotation; 00019 DtNetFloat32 myXRadius; 00020 DtNetFloat32 myYRadius; 00021 }; 00022 00023 class DT_DLL_vrfExtObjects DtEnvironmentalArticulatingCylinderRecord : 00024 public DtEnvironmentalGeometryRecord 00025 { 00026 public: 00027 DtEnvironmentalArticulatingCylinderRecord(); 00028 00029 virtual ~DtEnvironmentalArticulatingCylinderRecord(); 00030 00031 DtEnvironmentalArticulatingCylinderRecord( 00032 const DtEnvironmentalArticulatingCylinderRecord& orig); 00033 00034 DtEnvironmentalArticulatingCylinderRecord& operator=( 00035 const DtEnvironmentalArticulatingCylinderRecord& orig); 00036 00037 virtual DtEnvironmentalRecord* clone() const; 00038 00039 virtual void setStartingLocation(const DtVector& loc); 00040 virtual const DtVector& startingLocation() const; 00041 00042 virtual void setCylinderLength(double len); 00043 virtual double cylinderLength() const; 00044 00045 virtual void setRotation(const DtTaitBryan& rot); 00046 virtual const DtTaitBryan& rotation() const; 00047 00048 virtual void setXRadius(double radius); 00049 virtual double xRadius() const; 00050 00051 virtual void setYRadius(double radius); 00052 virtual double yRadius() const; 00053 00054 // This doesn't need to be called explicitly. If any routine that needs 00055 // the repository finds that it hasn't been created yet, it calls this 00056 // method. 00057 virtual bool createNetworkRepresentation(); 00058 00059 virtual int netRepSize() const; 00060 virtual void setFromNet(const DtNetEnvironmentalRecord& buffer); 00061 00062 const DtNetEnvironmentalArticulatingCylinderRecord* cylinderNetRep() const; 00063 DtNetEnvironmentalArticulatingCylinderRecord* cylinderNetRep(); 00064 00065 protected: 00066 DtVector myStartingLocation; 00067 double myCylinderLength; 00068 DtTaitBryan myRotation; 00069 double myXRadius; 00070 double myYRadius; 00071 }; 00072 00073 #endif