VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAggregatedGeometry.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
18 
19 #include <osg/Geometry>
20 
21 namespace makVrv
22 {
23  class DtGlBuffer;
24 
26  {
27  public:
29  virtual ~DtAggregatedGeometry();
30 
31 
33  virtual int numModels(void) const;
34 
36  virtual int modelId(int index) const;
37 
38  VectorGeometryLocations& getOrCreateLocationsFor(int modelId);
39  VectorMaterials& getOrCreateMaterialsFor(int modelId);
40  VectorOsgTextures& getOrCreateTexturesFor(int modelId);
41 
43  virtual const VectorGeometryLocations& getVectorGeometryLocations(int modelId) const;
44 
46  virtual bool hasVectorGeometryLocations(int modelId) const;
47 
48  virtual const VectorMaterials& getVectorMaterials(int modelId) const;
49 
51  virtual const VectorOsgTextures& getVectorOsgTextures(const int modelId) const;
52 
54  int vertexAndAttributesBufferSize(void) const;
55 
57  void copyVertexAndAttributeDataInto(DtGlBuffer* vertexAndAttributesBuffer) const;
58 
59  osg::Geometry* aggregatedGeometry(void);
60 
62 
63  virtual unsigned int vertexBufferSizeInBytes() const;
64  virtual unsigned int vertexBufferNumElements() const;
65  virtual const void* verticesPointer() const;
66  virtual unsigned int numVertices(void) const;
67 
69  virtual unsigned int normalBufferSizeInBytes() const;
70  virtual unsigned int normalBufferNumElements() const;
71  virtual const void* normalsPointer() const;
72  virtual unsigned int numNormals(void) const;
73 
75  virtual unsigned int colorBufferSizeInBytes() const;
76  virtual unsigned int colorBufferNumElements() const;
77  virtual const void* colorsPointer() const;
78  virtual unsigned int numColors(void) const;
79 
81  virtual unsigned int textureCoordsBufferSizeInBytes(unsigned int unit) const;
82  virtual unsigned int textureCoordsBufferNumElements(unsigned int unit) const;
83  virtual const void* textureCoordsPointer(unsigned int unit) const;
84  virtual unsigned int numTextureCoords(unsigned int unit) const;
85 
87  virtual const void* indexBufferPointer() const;
88  virtual unsigned int indexBufferSizeInBytes() const;
90 
92  virtual void printSpecsForModelId(int modelId);
94  virtual void printStats();
96  virtual void testDrawUsingDrawElements();
97 
98  public:
99  osg::ref_ptr<osg::Geometry> myAggregatedGeometry;
100 
101  typedef std::map<int, VectorGeometryLocations> MapModelsToVectorGeometryLocations;
102  typedef std::map<int, VectorMaterials> MapModelsToVectorMaterials;
103  typedef std::map<int, VectorOsgTextures> MapModelsToVectorOsgTextures;
104 
108  };
109 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)