VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <string>
17 #include <vector>
18 
19 #include <matrix/vlVector.h>
20 #include <matrix/vlTaitBryan.h>
21 
22 #include <boost/signal.hpp>
23 
24 namespace makVrv
25 {
26  class DtModelDefinition;
27  class DtDe;
28 
40  {
41  public:
42 
44  DtModelInstance(DtDe& de);
45 
47  virtual ~DtModelInstance();
48 
51  virtual bool realize(DtModelDefinition& definition);
52 
55  const std::string& realizedDefinitionName() const;
56 
58  virtual bool saveModelToFile(const std::string& filename) const;
59 
61  const DtVector& boundingBoxExtents() const;
62 
64  void getBoundingBoxExtents(double& x, double& y, double& z) const;
65 
67  const DtVector& boundingBoxCenter() const;
68 
70  void getBoundingBoxCenter(double& x, double& y, double& z) const;
71 
72  void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
73 
76  virtual void setContributesToBound( bool trueOrFalse );
77 
80  bool contributesToBound() const;
81 
83  virtual void setVisible(bool isVisible) = 0;
84 
86  virtual void setBlendColor(float r, float g, float b, float a);
87 
89  virtual void enableColorBlending( bool b );
90 
91  //Utility function for reading a float from a definition.
92  static float readFloat(const std::string& paramName, const DtModelDefinition& definition);
93 
94  //Utility function for reading a Vec4 from a definition.
95  static DtVector readVector(const std::string& paramName, const DtModelDefinition& definition);
96 
97  boost::signal<void (DtModelInstance*)> signal_modelInstanceChanged;
98 
99  protected:
100 
109  float myBlendRed;
110  float myBlendBlue;
113 
114  };
115 
119  {
120  public:
121 
123  virtual ~DtModelInstanceCreator();
124 
126  virtual DtModelInstance* create(DtDe& de) = 0;
127 
128  protected:
129 
131  };
132 
133 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)