VR-Forces 4.8 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 
const DtNetworkElement * myVectorNetworkElement
Definition: vectorObstruction.h:104
Dt3dBoundingVolume myBoundingVolume
Definition: vectorObstruction.h:106
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
*bool testInvariant() const
Definition: networkSegment.h:26
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
Definition: networkNode.h:38
Definition: coordSystem.h:54
DtVector myLocation
Definition: vectorObstruction.h:107
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtDcm myLocalOrientationMatrix
Definition: vectorObstruction.h:105
Contains the declaration of the DtExtent class.
DtExtent myExtent
Definition: vectorObstruction.h:110
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: vectorObstruction.h:31
Definition: networkElement.h:38
DtVector myVelocity
Definition: vectorObstruction.h:108
Definition: point.h:34

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)