VR-Forces 5.0.1 Developer's Guide
 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) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #include <matrix/vlVector.h>
9 
10 #include "geometry/extent.h"
11 #include <matrix/3dBoundingVolume.h>
12 #include <matrix/vlDcm.h>
13 
14 
15 class DtPoint;
16 class DtString;
17 class DtNetworkElement;
18 class DtNetworkNode;
19 class DtNetworkSegment;
20 class Coordinate_System;
21 
24 {
25 
26 public:
28  DtVectorObstruction(const DtNetworkNode& networkNode,
29  const Coordinate_System& coordSys, bool extrudeInZ);
30 
31  DtVectorObstruction(const DtNetworkSegment& networkSegment,
32  const Coordinate_System& coordSys, bool extrudeInZ);
33 
35  virtual ~DtVectorObstruction();
36 
48 
50  DtVectorObstruction& operator=(const DtVectorObstruction& original);
51 
53  bool operator==(const DtVectorObstruction& obstruction) const;
54 
56  bool operator!=(const DtVectorObstruction& obstruction) const;
57 
58 
61  bool valid() const;
62 
63  const DtNetworkElement* networkElement() const;
64 
65  void setNetworkElement(const DtNetworkNode& networkNode,
66  const Coordinate_System& coordSys, bool extrudeInZ = false);
67  void setNetworkElement(const DtNetworkSegment& networkSegment,
68  const Coordinate_System& coordSys, bool extrudeInZ = false);
69 
70  DtVector location() const;
71 
72  DtExtent& extent();
73  const DtExtent& extent() const;
74 
77  virtual void expandExtent(DtExtent& extent) const;
78 
79  DtVector velocity() const;
80 
81  Dt3dBoundingVolume& boundingVolume();
82  const Dt3dBoundingVolume& boundingVolume() const;
83 
84  DtDcm& localOrientationMatrix();
85  const DtDcm& localOrientationMatrix() const;
86 
87  bool testInvariant() const;
88 
89 protected:
90  void initializeExtent(const DtPoint& location, double length, double width,
91  double height, DtExtent& extent) const;
92 
93  void initializeExtent(const DtPoint& location1, const DtPoint& location2,
94  double length, double width, double height, DtExtent& extent) const;
95 
98  Dt3dBoundingVolume myBoundingVolume;
101 
103 };
const DtNetworkElement * myVectorNetworkElement
Definition: vectorObstruction.h:96
Dt3dBoundingVolume myBoundingVolume
Definition: vectorObstruction.h:98
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
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:99
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtDcm myLocalOrientationMatrix
Definition: vectorObstruction.h:97
Contains the declaration of the DtExtent class.
DtExtent myExtent
Definition: vectorObstruction.h:102
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: vectorObstruction.h:23
Definition: networkElement.h:38
DtVector myVelocity
Definition: vectorObstruction.h:100
Definition: point.h:34

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)