![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: simSector.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00010 00011 00012 #ifndef DtSimSector_H_ 00013 #define DtSimSector_H_ 00014 00015 #include "vrfutil/rdrWritr.h" 00016 #include "vrfutil/rwReal.h" 00017 #include <matrix/LibMatrix.h> 00018 #include "vrfobjparam/vrfobjparamDefines.h" 00019 00025 class DT_DLL_vrfobjparam DtSimSector : public DtReaderWriter 00026 { 00027 public: 00029 DtSimSector(); 00030 00032 DtSimSector(const DtString & name, DtReaderWriterRegistry * 00033 parentRegistry = 0); 00034 00036 DtSimSector(const DtString & name, const DtSimSector & orig, 00037 DtReaderWriterRegistry * parentRegistry = 0); 00038 00040 const DtSimSector& operator=(const DtSimSector & orig); 00041 00042 virtual ~DtSimSector(); 00043 00044 virtual DtSimSector * clone(const DtString & name, DtReaderWriterRegistry * 00045 parentRegistry = 0) const; 00046 00048 virtual int operator==(const DtSimSector& rhs) const; 00049 00055 virtual void setSector(DtReal center, DtReal size); 00056 00058 virtual DtReal sectorSize() const; 00059 00061 virtual DtReal sectorCenter() const; 00062 00064 virtual const DtVector& centerVector() const; 00065 00067 virtual bool inSector(DtReal angle) const; 00068 00070 virtual bool inSector(DtVector bodyVector) const; 00071 00073 virtual bool inSector(const DtVector& localPoint, const DtVector& 00074 parentLocation, const DtDcm& localToBody) const; 00075 00077 virtual DtReal bodyToSector(DtReal angle) const; 00078 00080 virtual DtReal sectorToBody(DtReal angle) const; 00081 00082 protected: 00084 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00085 const DtVariableBindingsList& variableBindings); 00086 00087 protected: 00090 00091 00097 DtRwReal mySectorCenter; 00102 DtRwReal mySectorSize; 00103 00105 00106 DtVector myCenterVector; 00107 DtReal myBodyToSectorOffset; 00108 DtReal myCosineHalfSectorSize; 00109 }; 00110 00111 #endif 00112