VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vectorObstruction.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: vectorObstruction.h,v $ $Revision: 1.15 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef vectorObstruction_H_
13 #define vectorObstruction_H_
14 
15 #include <matrix/vlVector.h>
17 
18 #include "geometry/extent.h"
19 #include <matrix/3dBoundingVolume.h>
20 #include <matrix/vlDcm.h>
21 
22 
23 class DtPoint;
24 class DtString;
25 class DtNetworkElement;
26 class DtNetworkNode;
27 class DtNetworkSegment;
28 
29 
32 {
33 
34 public:
36  DtVectorObstruction(const DtNetworkNode& networkNode,
37  const Coordinate_System& coordSys, bool extrudeInZ);
38 
39  DtVectorObstruction(const DtNetworkSegment& networkSegment,
40  const Coordinate_System& coordSys, bool extrudeInZ);
41 
43  virtual ~DtVectorObstruction();
44 
56 
58  DtVectorObstruction& operator=(const DtVectorObstruction& original);
59 
61  bool operator==(const DtVectorObstruction& obstruction) const;
62 
64  bool operator!=(const DtVectorObstruction& obstruction) const;
65 
66 
69  bool valid() const;
70 
71  const DtNetworkElement* networkElement() const;
72 
73  void setNetworkElement(const DtNetworkNode& networkNode,
74  const Coordinate_System& coordSys, bool extrudeInZ = false);
75  void setNetworkElement(const DtNetworkSegment& networkSegment,
76  const Coordinate_System& coordSys, bool extrudeInZ = false);
77 
78  DtVector location() const;
79 
80  DtExtent& extent();
81  const DtExtent& extent() const;
82 
85  virtual void expandExtent(DtExtent& extent) const;
86 
87  DtVector velocity() const;
88 
89  Dt3dBoundingVolume& boundingVolume();
90  const Dt3dBoundingVolume& boundingVolume() const;
91 
92  DtDcm& localOrientationMatrix();
93  const DtDcm& localOrientationMatrix() const;
94 
95  bool testInvariant() const;
96 
97 protected:
98  void initializeExtent(const DtPoint& location, double length, double width,
99  double height, DtExtent& extent) const;
100 
101  void initializeExtent(const DtPoint& location1, const DtPoint& location2,
102  double length, double width, double height, DtExtent& extent) const;
103 
106  Dt3dBoundingVolume myBoundingVolume;
109 
111 };
112 
113 #endif
114 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)