VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLineModelUpdater.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 
13 
14 class DtTaitBryan;
15 
16 namespace makVrv
17 {
18 
23  {
24  public:
27 
29  virtual ~DtLineModelUpdater();
30 
32  virtual void setStartPoint( const DtVector& position );
33 
36  virtual void attachStartPoint( DtElementID id );
37 
39  virtual void setStartPointOffset( const DtVector& offset );
40 
42  virtual void setEndPoint( const DtVector& position );
43 
46  virtual void attachEndPoint( DtElementID id );
47 
49  virtual void setEndPointOffset( const DtVector& offset );
50 
52  virtual DtVector calculateStartPoint();
53 
55  virtual DtVector calculateEndPoint();
56 
58  virtual void setSceneObject( DtSceneObject* sceneObject );
59 
63  virtual void update( DtTime tNow );
64 
65  protected:
66 
67  // \brief Updates the sceneObject
68  virtual void updateSceneObject( DtTime tNow ) = 0;
69 
72 
73  struct PointInformation;
74 
76  virtual void cleanup( PointInformation& pointInfo );
77 
83  virtual DtVector offsetPoint( const DtVector& point, const DtVector& offset,
84  const DtTaitBryan& rootOri = DtTaitBryan() ) const;
85 
90  virtual DtVector getAttachedPosition( PointInformation& pointInfo );
91 
95  virtual DtTaitBryan getAttachedOrientation( PointInformation& pointInfo );
96 
98  virtual void getSceneInformation( const PointInformation& info, DtUniqueID& sceneId );
99 
101 
104 
106  virtual void slot_attachedSceneObjectToBeDeleted( DtUniqueID, PointInformation* );
107 
109  virtual void slot_attachedUpdaterToBeDeleted( DtUniqueID, PointInformation* );
110 
112 
113  protected:
114 
116  {
118 
119  bool defined;
122  int modelSet;
125 
126  // When the class is destructed, the scene object may or may not
127  // exist. Using a separate connection variable makes it possible to
128  // 'disconnect' even if the scene object has been deleted.
129  boost::signalslib::connection sceneObjectConnection;
130  boost::signalslib::connection sceneObjectUpdaterConnection;
131 
133  };
134 
137 
138  };
139 }
140 
Definition: DtLineModelUpdater.h:115
int modelSet
Definition: DtLineModelUpdater.h:122
PointInformation myStartPoint
Definition: DtLineModelUpdater.h:135
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:36
PointInformation myEndPoint
Definition: DtLineModelUpdater.h:136
DtVector position
Definition: DtLineModelUpdater.h:120
Contains the makVrv::DtAttachableUpdater class declaration.
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
DtVector offset
Definition: DtLineModelUpdater.h:121
A DtAttachableUpdater updates a scene an object that can be positioned in the scene by (possibly) att...
Definition: DtAttachableUpdater.h:33
DtSceneObject * sceneObject
Definition: DtLineModelUpdater.h:124
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtSceneObjectUpdater * updater
Definition: DtLineModelUpdater.h:132
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::signalslib::connection sceneObjectConnection
Definition: DtLineModelUpdater.h:129
boost::signalslib::connection sceneObjectUpdaterConnection
Definition: DtLineModelUpdater.h:130
bool defined
Definition: DtLineModelUpdater.h:119
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
DtElementID parentAttachID
Definition: DtLineModelUpdater.h:123
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Base class for updaters updating segmented line models Contains methods and information struct for wo...
Definition: DtLineModelUpdater.h:22
voidpf uLong offset
Definition: ioapi.h:42

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)