VR-Forces 5.0.3 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) 2022 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 DtIndirectGeometryTexturesRefPtr textureForThisGeometry
60  , const std::vector<DtIndirectBindlessVertexFormat>& destinationVertices) const;
61 
63  virtual void setModelName(const std::string& modelname);
64 
65  virtual bool degenerate(void) const;
66  protected:
67 
69  virtual bool checkSrcTextureCoordsOk(const osg::Geometry& srcGeometry) const;
70 
71  protected:
72  // used only for outputting debug messages
73  std::string myModelFileName;
74  mutable bool myDegenerateVertices;
75 
77  };
78 }
DtDe & myDe
Definition: DtIndirectVerticesHelper.h:76
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:73
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:70
bool myDegenerateVertices
Definition: DtIndirectVerticesHelper.h:74
Contains the DtIndirectGeometryTextures class declaration.
Contains makVrv::DtIndirectBindlessVertexFormat class.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)