![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: vertexList.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtVertexList_H_ 00013 #define DtVertexList_H_ 00014 00015 #include "vrfutil/rwList.h" 00016 00017 class DtRwVector; 00018 class DtVector; 00019 class DtRwVectorIterator; 00020 00024 00025 #include "vrfutil/vrfutilDefines.h" 00026 class DT_DLL_vrfutil DtVertexList : public DtRwList 00027 { 00028 public: 00029 00031 DtVertexList(); 00032 00034 DtVertexList(const DtString& name, DtReaderWriterRegistry* 00035 parentRegistry = 0); 00036 00038 virtual ~DtVertexList(); 00039 00040 virtual DtRwVector& operator[](unsigned index) const; 00041 00042 virtual int index(const DtListItem* entry) const; 00043 00044 virtual const DtRwVectorIterator& witerator() const; 00045 00049 virtual double distSquaredTo(const DtVector& point) const; 00050 00052 virtual bool getClosestVertex(const DtVector& point, DtVector& vertex) const; 00053 00055 virtual DtListItem* getClosestVertex(const DtVector& point) const; 00056 00059 virtual bool getClosestLine(const DtVector& point, DtVector& linePt1, 00060 DtVector& linePt2) const; 00061 00063 virtual void translate(const DtVector& offset); 00064 00066 virtual void copyList(const DtVertexList&); 00067 00068 public: 00069 00071 static double distanceSquaredPointToLine(const DtVector& point, 00072 const DtVector& linePt1, const DtVector& linePt2); 00073 00075 static double distanceSquaredPointToPoint(const DtVector& point1, 00076 const DtVector& point2); 00077 00078 protected: 00079 00082 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00083 const DtVariableBindingsList& variableBindings); 00084 00085 private: 00088 DtVertexList(const DtVertexList& orig); 00089 00092 DtVertexList& operator=(const DtVertexList& orig); 00093 00094 protected: 00095 DtRwVectorIterator* myVertexIterator; 00096 }; 00097 00098 #endif