VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDiGuyModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
16 #include <vrvDiGuy/vrvDiGuy.h>
17 
18 #include <vector>
19 
20 class diguyCharacter;
21 class diguyGraphicsLink;
22 
23 namespace makVrv
24 {
25 
26  class DtSceneObject;
27 
29 
31 
32  template <>
33  inline const char* modelInstanceClassName<DtDiGuyModelInstance>(void) { return "DtDiGuyModelInstance"; }
34 
35  template <>
36  inline const char* modelInstanceObjectClass<DtDiGuyModelInstance>(void) { return "None"; }
37 
41  {
42  public:
43 
45  {
46  std::string shapeClassType;
47  std::string shapeSetName;
49  osg::Node* shapeRootNode;
50  };
51 
52  typedef std::vector<DtDiGuyShapeData> ShapeDataVector;
53 
56 
58  virtual ~DtDiGuyModelInstance();
59 
62  virtual bool realize(const DtModelDefinition& definition);
63 
65  diguyCharacter* character();
66 
68  virtual void setVisible(bool isVisible);
69 
71  virtual bool getVisible();
72 
75  virtual void updateBoundingBoxViaContents();
76 
77  //this sets the final position post ground clamping/embarking transforms
78  virtual void setPosition(const DtVector& pos);
79 
80  //this sets the final Orientation post ground clamping/embarking transforms
81  virtual void setOrientation(const DtTaitBryan& ori);
82 
83  //this sets both the final position and final orientation at the same time
84  virtual void setPositionAndOrientation(const DtVector& pos, const DtTaitBryan& ori);
85 
87  virtual osg::Node* sensorNode();
89  virtual const osg::Node* sensorNode() const;
90 
91  virtual void setRootNode(osg::Node* node);
92 
94  virtual void getShapeData(ShapeDataVector& shapeData);
95 
96  // list of diguy shapes that this character points to
97  virtual void setShapeTboData(osg::Node* shapeRootNode, const std::vector<float>& tboData);
98 
99  boost::signalslib::signal<void(DtDiGuyModelInstance*)> signal_diGuyModelInstanceChanged;
100  boost::signalslib::signal<void(DtDiGuyModelInstance*)> signal_diGuyCharacterToBeDestroyed;
101  protected:
102 
103  virtual void destroyCharacter();
104  virtual void updateVisiblity();
105 
108 
109  protected:
110 
111  diguyCharacter* myCharacter;
112 
116  };
117 }
A Di Guy based model instance.
Definition: DtDiGuyModelInstance.h:40
boost::signalslib::signal< void(DtDiGuyModelInstance *)> signal_diGuyCharacterToBeDestroyed
Definition: DtDiGuyModelInstance.h:100
Definition: DtTemplatedModelInstanceCreator.h:32
Contains DLL export macros.
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
Contains makVrv::DtOsgModelInstance class.
const char * modelInstanceClassName< DtDiGuyModelInstance >(void)
Definition: DtDiGuyModelInstance.h:33
DtTemplatedModelInstanceCreator< DtDiGuyModelInstance > DtDiGuyModelInstanceCreator
Definition: DtDiGuyModelInstance.h:28
osg::Node * shapeRootNode
Definition: DtDiGuyModelInstance.h:49
const char * modelInstanceObjectClass< DtDiGuyModelInstance >(void)
Definition: DtDiGuyModelInstance.h:36
std::string shapeSetName
Definition: DtDiGuyModelInstance.h:47
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
bool myCanBeRecycled
Definition: DtDiGuyModelInstance.h:114
friend DtDiGuyModelInstanceCreator
Let the creator class make instances.
Definition: DtDiGuyModelInstance.h:55
Contains the DtTemplatedModelInstanceCreator class declaration.
bool myNodeVisible
Definition: DtDiGuyModelInstance.h:113
std::string shapeClassType
Definition: DtDiGuyModelInstance.h:46
bool myCastsShadows
Definition: DtDiGuyModelInstance.h:115
std::vector< DtDiGuyShapeData > ShapeDataVector
Definition: DtDiGuyModelInstance.h:52
std::string shapeMaterialSystemType
Definition: DtDiGuyModelInstance.h:48
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:76
boost::signalslib::signal< void(DtDiGuyModelInstance *)> signal_diGuyModelInstanceChanged
Definition: DtDiGuyModelInstance.h:99
#define DT_DLL_VRVDIGUY
Definition: vrvDiGuy.h:21
Definition: DtDiGuyModelInstance.h:44
diguyCharacter * myCharacter
Definition: DtDiGuyModelInstance.h:111

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)