VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAttachableIntervisibilityUpdater.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvCore/DtIntersector.h>
15 
17 
18 namespace makVrv
19 {
20  class DtIntersectorsContainer;
21  class DtCachedIntersectorsContainer;
22  class DtCoordinateSystem;
23  class DtObserverModeManager;
24 
29  {
30  public:
31 
34 
37 
41  virtual void setFixedDistance( bool );
42 
47  virtual void setIsRangeLine(bool isRangeLine);
48  virtual bool isRangeLine() const;
50 
51  protected:
52 
55  virtual void update( DtTime tNow );
56 
58  virtual bool doIntersection(const DtTime tNow);
59 
60  // Updates the sceneObject with inter-visibility information
61  virtual void updateSceneObject( DtTime tNow );
62 
64  virtual double calculateDistance( const DtVector& start,
65  const DtVector& end, DtVector* circleOrigin = 0 ) const;
66 
68  virtual void calculateFixedDistance();
69 
72  virtual DtVector fixedDistanceFrom( const DtVector& start, const DtVector& end,
73  double heading, double distance ) const;
74 
76  virtual double calculateHeading( const DtVector& start,
77  const DtVector& end ) const;
78 
80  virtual DtVector clamp( const DtVector& pt ) const;
81 
83  virtual void slot_coordinateSystemChanged();
84 
85  protected:
86 
88  {
93  };
94 
96 
98 
102 
103  DtIntersectorsContainer* myIntersectors = nullptr;
104  DtCachedIntersectorsContainer* myCachedIntersectorsContainer = nullptr;
105 
106  // local clone of the system wide coordinate system.
107  // for thread safety.
108  DtCoordinateSystem* myCoordinateSystem = nullptr;
109 
111  };
112 }
113 
IntersectionInformation myIntersectionInformation
Definition: DtAttachableIntervisibilityUpdater.h:95
double myFixedDistance
Definition: DtAttachableIntervisibilityUpdater.h:100
DtObserverModeManager is responsible for loading and saving observer modes, and providing a mechanism...
Definition: DtObserverModeManager.h:53
Utility class that contains intersectors for all model sets in the system (3d, xr, 2d) Use an object of this class when all models sets can be possibly needed. When you know which model set you need, you can just use the DtIntersectorCreator to create an intersector for a model set Models sets corresponding to 3d, xr and 2d are created by default (these correspond to values of 0, 1 and 5) Additional model sets can be registered with DtIntersectorsContainer::registerModelSet.
Definition: DtIntersectorsContainer.h:37
Descriptor for a single intersection result.
Definition: DtIntersectorResult.h:21
bool intersection
Definition: DtAttachableIntervisibilityUpdater.h:89
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myIsRangeLine
Definition: DtAttachableIntervisibilityUpdater.h:97
Contains makVrv:DtIntersector class.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
const DtObserverModeManager & myObserverModeManager
Definition: DtAttachableIntervisibilityUpdater.h:110
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtIntersectorResult result
Definition: DtAttachableIntervisibilityUpdater.h:92
double myFixedHeading
Definition: DtAttachableIntervisibilityUpdater.h:101
DtVector startPoint
Definition: DtAttachableIntervisibilityUpdater.h:90
DtVector endPoint
Definition: DtAttachableIntervisibilityUpdater.h:91
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
The DtCachedIntersectorsContainer class contains instances of cached intersectors of different model ...
Definition: DtCachedIntersectorsContainer.h:43
Contains the DtLineModelUpdater class declaration.
Base class to provide boost signal/slot management.
bool myFixDistance
Definition: DtAttachableIntervisibilityUpdater.h:99
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Base class for updaters updating segmented line models Contains methods and information struct for wo...
Definition: DtLineModelUpdater.h:23
An updater class used to update the line segments for intervisibility objects, e.g. range lines and intervisibility lines.
Definition: DtAttachableIntervisibilityUpdater.h:28
Definition: DtAttachableIntervisibilityUpdater.h:87

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)