VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectGeometry.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
7 
8 
10 #include "vrfutil/rwBoolean.h"
11 #include "vrfutil/readerWriter.h"
12 
15 
16 class Coordinate_System;
17 class DtRwVectorIterator;
18 class DtLocalVertexIterator;
20 
27 {
28 private:
31 
32 public:
33 
36  const DtString& rwName = DtString::nullString(),
37  DtReaderWriterRegistry* parentRegistry = 0);
38 
41  const DtString& rwName = DtString::nullString(),
42  DtReaderWriterRegistry* parentRegistry = 0);
43 
46 
48  virtual ~DtVrfObjectGeometry();
49 
51  virtual DtVrfObjectGeometry* clone(
52  const DtString& rwName = DtString::nullString(),
53  DtReaderWriterRegistry* parentRegistry = 0) const;
54 
56  virtual const DtSimBoundingGeometry& boundingGeometry() const;
57  virtual DtSimBoundingGeometry& boundingGeometry();
58  virtual void setBoundingGeometry(const DtSimBoundingGeometry& bounds);
59 
62  virtual bool closedFigure() const;
63  virtual void setClosedFigure(bool closed);
64 
67  virtual bool projection() const;
68  virtual void setProjection(bool projection);
69 
71  virtual void removeAllObjectVertices();
72 
77  virtual void setObjectVertices(const DtLocalVertexList& vertices);
78  virtual void setObjectVertices(const DtList& vertices);
79  virtual const DtLocalVertexList& objectVertices() const;
80  virtual DtLocalVertexList& objectVertices();
81  virtual const std::vector<DtVector>& objectVerticesAsVector() const;
83 
84  virtual const DtLocalVectorIterator& objectVertexIterator() const;
85 
86 
87  //******
88  const DtVertexList& oldWorld() const;
89 
92  virtual bool worldPointInsideBoundingGeometry(
93  const DtVector& worldPoint, const DtVector& objectWorldLocation,
94  const DtTaitBryan& objectWorldOrientation) const;
95 
99  virtual double worldDistSquaredTo(const DtVector& point) const;
100 
103  virtual bool worldGetClosestVertex(const DtVector& point,
104  DtVector& vertex) const;
105 
108  virtual bool localGetClosestVertex(const DtVector& point, DtVector& vertex) const;
109 
114  virtual bool worldGetClosestLine(const DtVector& point,
115  DtVector& linePt1, DtVector& linePt2) const;
116 
121  virtual bool localGetClosestLine(const DtVector& point,
122  DtVector& linePt1, DtVector& linePt2) const;
123 
128  virtual const DtSimBoundingGeometry& worldBoundingGeometry() const;
129  virtual DtSimBoundingGeometry& worldBoundingGeometry();
130  virtual void setWorldBoundingGeometry(const DtSimBoundingGeometry& bounds);
132 
133  virtual void removeVertex(int iIndex);
134 
148  virtual bool calculateBoundingVolume(const DtVertexList& vertices,
149  DtSimBoundingGeometry& boundingGeometry);
150 
161 
162  virtual const DtSimBoundingGeometry& localBoundingGeometry() const;
163  virtual DtSimBoundingGeometry& localBoundingGeometry();
164  virtual void setLocalBoundingGeometry(const DtSimBoundingGeometry& bounds);
165 
166  virtual double distSquaredTo(const DtVector& testPoint) const;
167 
168 protected:
169 
171  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
172  const DtVariableBindingsList& variableBindings);
173 
175  void removeAllOldWorldVertices();
176 
177 protected:
178 
181 
184 
188 
190 
191  std::vector<DtVector> myObjectVerticesAsVector;
192 };
193 
195 {
196  return myOldWorld;
197 }
198 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)