VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectAggregateHelper.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/Geometry>
15 
16 #include <string>
17 #include <vector>
18 #include <tbb/atomic.h>
19 
20 namespace osg
21 {
22  class Geometry;
23 }
24 
25 namespace makVrv
26 {
27  class DtIndirectGeometryTextures;
29 
30  typedef std::vector<int> Indices;
31 
36  {
37  public:
40 
42  virtual ~DtIndirectAggregateHelper();
43 
44  private:
49 
50  public:
52  virtual void setAggregateGeometry(osg::Geometry* aggregatedGeometry);
53 
55  virtual void setModelName(const std::string& modelname);
56 
58  virtual bool checkGeometryOk(const osg::Geometry& srcGeometry);
59 
61  virtual void copyVertices(const osg::Geometry& srcGeometry, const osg::Matrix & transform);
62 
64  virtual bool checkSrcAndDstVerticesOk(const osg::Geometry& srcGeometry);
65 
67  virtual void copyNormals(const osg::Geometry& srcGeometry);
69  virtual bool checkSrcAndDstNormalsOk(const osg::Geometry& srcGeometry);
70 
72  virtual void copyColors(const osg::Geometry& srcGeometry);
74  virtual bool checkSrcAndDstColorsOk(const osg::Geometry& srcGeometry);
75 
77  virtual void copyTextureCoords(const osg::Geometry& srcGeometry, const DtIndirectGeometryTextures* textureForThisGeometry);
78 
80  virtual bool checkSrcTextureCoordsOk(const osg::Geometry& srcGeometry);
81 
83  virtual bool checkDstIndicesOk(const osg::Geometry& srcGeometry);
84 
86  virtual void copyIndices(Indices& indices, const osg::Geometry& srcGeometry);
87 
90  virtual void cancel();
91 
92  protected:
93  // used only for outputing debug messages
94  std::string myModelFileName;
95 
97 
99 
100  tbb::atomic<int> myCancelTask;
101  };
102 }
DtIndirectAggregateIndicesHelper * myIndicesHelper
Definition: DtIndirectAggregateHelper.h:98
std::vector< int > Indices
Definition: DtIndirectAggregateHelper.h:28
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
tbb::atomic< int > myCancelTask
Definition: DtIndirectAggregateHelper.h:100
std::string myModelFileName
Definition: DtIndirectAggregateHelper.h:94
helper class to the DtIndirectGeometryAggregator.
Definition: DtIndirectAggregateHelper.h:35
osg::ref_ptr< osg::Geometry > myAggregatedGeometry
Definition: DtIndirectAggregateHelper.h:96
helper class for DtIndirectAggregateHelper which checks and copies indices from a geometry ...
Definition: DtIndirectAggregateIndicesHelper.h:34
class to hold osg Textures (diffuse map texture + effect textures) basically just a list of osg textu...
Definition: DtIndirectGeometryTextures.h:27
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)