![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 1999-2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: lclVtxList.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtLocalVertexList_H_ 00013 #define DtLocalVertexList_H_ 00014 00015 #include "vrfutil/vertexList.h" 00016 00017 class DtLocalVector; 00018 class DtLocalVectorIterator; 00019 00024 #include "vrfutil/vrfutilDefines.h" 00025 class DT_DLL_vrfutil DtLocalVertexList : public DtVertexList 00026 { 00027 public: 00028 00030 DtLocalVertexList(); 00031 00033 DtLocalVertexList(const DtString& name, DtReaderWriterRegistry* 00034 parentRegistry = NULL); 00035 00037 virtual ~DtLocalVertexList(); 00038 00041 virtual bool closedFigure() const; 00042 virtual void setClosedFigure(bool closed); 00043 00046 virtual bool projection() const; 00047 virtual void setProjection(bool projection); 00048 00049 virtual const DtLocalVectorIterator& localIterator() const; 00050 00055 00063 00068 virtual bool inside(const DtVector& point) const; 00069 00075 virtual bool leftOf(const DtVector& point) const; 00076 00082 virtual double headingAngleTo(const DtVector& point) const; 00083 00089 virtual double elevationAngleTo(const DtVector& point) const; 00090 00096 virtual double localDistSquaredTo(const DtVector& point) const; 00097 00103 virtual double distSquaredTo2D(const DtVector& point) const; 00104 00111 virtual bool intersects(const DtVector& point1, const DtVector& point2) const; 00112 00115 virtual bool getClosestVertex2D(const DtVector& point, DtVector& vertex) const; 00116 00119 virtual DtListItem* getClosestVertex2D(const DtVector& point) const; 00120 00124 virtual bool getClosestLine2D(const DtVector& point, DtVector& linePt1, 00125 DtVector& linePt2) const; 00126 00127 public: 00128 00130 static double distanceSquaredPointToLine2D(const DtVector& point, 00131 const DtVector& linePt1, const DtVector& linePt2); 00132 00134 static double distanceSquaredPointToPoint2D(const DtVector& point1, 00135 const DtVector& point2); 00136 00137 private: 00138 00141 DtLocalVertexList(const DtLocalVertexList& orig); 00142 00145 DtLocalVertexList& operator=(const DtLocalVertexList& orig); 00146 00147 protected: 00148 00149 bool myClosedFigure; 00150 bool myProjection; 00151 DtLocalVectorIterator* myLocalVectorIterator; 00152 }; 00153 00154 #endif