VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectVerticesHelper.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 
12 #include <vrvOsg/vrvOsg.h>
13 
16 
17 #include <osg/Geometry>
18 
19 #include <string>
20 #include <vector>
21 
22 namespace osg
23 {
24  class Geometry;
25 }
26 
27 namespace makVrv
28 {
29  class DtDe;
30 
33  {
34  public:
37 
39  virtual ~DtIndirectVerticesHelper();
40 
43 
45  DtIndirectVerticesHelper& operator=(const DtIndirectVerticesHelper&) = delete;
46  public:
48  virtual void copyVertices(std::vector<DtIndirectBindlessVertexFormat>& destinationVertices, const osg::Geometry& srcGeometry, const osg::Matrix& transform) const;
49 
51  virtual void copyNormals(std::vector<DtIndirectBindlessVertexFormat>& destinationVertices, const osg::Geometry& srcGeometry) const;
52 
54  virtual void copyColors(std::vector<DtIndirectBindlessVertexFormat>& destinationVertices, const osg::Geometry& srcGeometry) const;
55 
57  virtual void copyTextureCoords(std::vector< std::vector<Vector2_32> > & destinationCoordinates
58  , const osg::Geometry& srcGeometry
59  , const DtIndirectGeometryTextures& texturesForThisGeometry
60  , const std::vector<DtIndirectBindlessVertexFormat>& destinationVertices) const;
61 
63  virtual void setModelName(const std::string& modelname);
64 
65  virtual bool degenerate(void) const;
66 
70  virtual void setCopyRange(int startVertex, int endVertex);
71 
72  protected:
73 
75  virtual bool checkSrcTextureCoordsOk(const osg::Geometry& srcGeometry) const;
76 
77  protected:
78  // used only for outputting debug messages
79  std::string myModelFileName;
80  mutable bool myDegenerateVertices;
81 
83 
85  int myStartVertex = -1;
86 
88  int myEndVertex = -1;
89  };
90 }
DtDe & myDe
Definition: DtIndirectVerticesHelper.h:82
utility class to copy src geometry into interleaved vertex format used by bindless ...
Definition: DtIndirectVerticesHelper.h:32
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
std::string myModelFileName
Definition: DtIndirectVerticesHelper.h:79
This class represents the list of DtIndirectTexturePrototypes belonging to a particular sub-geometry...
Definition: DtIndirectGeometryTextures.h:38
Contains DLL export macros.
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:72
bool myDegenerateVertices
Definition: DtIndirectVerticesHelper.h:80
Contains the DtIndirectGeometryTextures class declaration.
Contains makVrv::DtIndirectBindlessVertexFormat class.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)