12 #ifndef vectorObstruction_H_
13 #define vectorObstruction_H_
15 #include <matrix/vlVector.h>
18 #include "geometry/extent.h"
19 #include <matrix/3dBoundingVolume.h>
20 #include <matrix/vlDcm.h>
25 class DtNetworkElement;
27 class DtNetworkSegment;
37 const Coordinate_System& coordSys,
bool extrudeInZ);
40 const Coordinate_System& coordSys,
bool extrudeInZ);
71 const DtNetworkElement* networkElement()
const;
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);
81 const DtExtent& extent()
const;
85 virtual void expandExtent(DtExtent& extent)
const;
89 Dt3dBoundingVolume& boundingVolume();
90 const Dt3dBoundingVolume& boundingVolume()
const;
92 DtDcm& localOrientationMatrix();
93 const DtDcm& localOrientationMatrix()
const;
95 bool testInvariant()
const;
98 void initializeExtent(
const DtPoint& location,
double length,
double width,
99 double height, DtExtent& extent)
const;
101 void initializeExtent(
const DtPoint& location1,
const DtPoint& location2,
102 double length,
double width,
double height, DtExtent& extent)
const;