VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEllipseUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtSceneObject.h>
15 #include <vrvCore/DtTickable.h>
16 #include <vrvCore/DtUniqueID.h>
17 #include <matrix/vlTaitBryan.h>
18 
19 #include <matrix/vlVector.h>
20 
21 namespace makVrv
22 {
27  {
28  public:
29 
32 
34  virtual ~DtEllipseUpdater();
35 
37  virtual void update( double simTime );
38 
39  virtual void setOrientationDelta(double);
40 
42  virtual void setClamped(bool);
43 
46  virtual void setPosition(int, const DtVector&);
47 
50  virtual void setSceneObject( DtSceneObject* sceneObject );
51 
58  virtual bool needsUpdate( DtTime tNow );
59 
63  virtual void setUpdaterPosition( int vtx, const DtVector& pos );
64 
68  virtual void setUpdaterOrientation( int vtx, const DtTaitBryan& ori );
69 
72  virtual void setDynamicOrigin(bool);
73 
74  protected:
75 
76  virtual bool computeGroundClampingHit(const DtVector& up,
77  const DtVector& unclampedPosition, DtVector& hitLocation, DtVector& hitNormal);
78 
80  virtual DtTaitBryan computeOrientation(const DtVector& pos,
81  double topoHeading) const;
82 
85  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
87 
88  private:
94  DtSceneObject::ObjectTransform& getOrCreateTransform( int vtx );
95 
96  protected:
99 
101 
103  bool myClamped;
104 
107 
110 
113 
114  // When the class is destructed, the scene object may or may not
115  // exist. Using a separate connection variable makes it possible to
116  // 'disconnect' even if the scene object has been deleted.
117  boost::signalslib::connection mySceneObjectConnection;
118 
124 
126 
127  DtTaitBryan myInitialOrientation;
128 
132  };
133 }
134 
DtVector myOrigin
Definition: DtEllipseUpdater.h:97
boost::signalslib::connection mySceneObjectConnection
Definition: DtEllipseUpdater.h:117
Definition: DtSceneObject.h:46
bool myDynamicOrigin
Definition: DtEllipseUpdater.h:129
DtVector myClampedOrigin
Definition: DtEllipseUpdater.h:98
DtSceneObject::TransformList myTransforms
Local copy of the vertex positions and orientations.
Definition: DtEllipseUpdater.h:123
double myOrientationDelta
Definition: DtEllipseUpdater.h:100
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
DtUniqueID myUniqueId
This distributed object&#39;s unique identifier.
Definition: DtEllipseUpdater.h:109
DtVector myLastAnglePosition
Definition: DtEllipseUpdater.h:130
DtTaitBryan myInitialOrientation
Definition: DtEllipseUpdater.h:127
bool mySceneObjectChanged
Definition: DtEllipseUpdater.h:102
DtEllipseUpdater is an updater that updates the orientation of ellipse (2D or 3D) based on the origin...
Definition: DtEllipseUpdater.h:26
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtVector myDynamicOriginPosition
Definition: DtEllipseUpdater.h:131
bool myClamped
Definition: DtEllipseUpdater.h:103
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains the declaration for makVrv::DtTickable.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
DtDe & myDe
The display engine.
Definition: DtEllipseUpdater.h:106
Contains makVrv::DtUniqueID type.
std::vector< ObjectTransform > TransformList
Definition: DtSceneObject.h:52
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtTime myLastUpdateTime
Definition: DtEllipseUpdater.h:125
DtSceneObject * mySceneObject
A pointer to the current scene object.
Definition: DtEllipseUpdater.h:112
Contains makVrv::DtSceneObject class.
Contains DLL export macros.

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)