VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTexturedPrimitiveStyle.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 
14 #include <boost/unordered_map.hpp>
15 #include <vector>
16 
17 namespace makVrv
18 {
19 
20  class DtOverlayResourceProvider;
21  class DtProjected2DTexturedEffect;
22 
26  {
27  public:
28 
31  unsigned int vertexCount, bool repeating = false );
32 
34  virtual ~DtTexturedPrimitiveStyle();
35 
37  virtual void add( unsigned int* indexPtr );
38 
40  virtual void remove( unsigned int index );
41 
43  virtual void render( int mode, unsigned int groupCount, bool geocentric,
44  float geocentricAlpha, const double cameraLocation[3],
45  const double positionMatrix[16],
46  const double projectionMatrix[16],
47  int offset);
48 
49 
52 
54  virtual void set3DVertexPosition( unsigned int index, unsigned int vertex,
55  float x, float y, float z, float w );
56 
58  virtual void set3DVertexQuadPositions(unsigned int index,
59  float x, float y, float z, float w);
60 
62  virtual void get3DVertexPosition( unsigned int index, unsigned int vertex,
63  float& x, float& y, float& z, float& w ) const;
64 
66  virtual void set2DVertexPosition( unsigned int index, unsigned int vertex,
67  float x, float y );
68 
70  virtual void get2DVertexPosition( unsigned int index, unsigned int vertex,
71  float& x, float& y ) const;
72 
74  virtual void set2DOffsetRotation( unsigned int index,
75  unsigned int vertIndex, float angle );
76 
78  virtual void get2DOffsetRotation( unsigned int index,
79  unsigned int vertIndex, float& angle ) const;
80 
82  virtual void setColor( unsigned int index, unsigned int vertex,
83  float r, float g, float b, float a );
84 
86  virtual void getColor( unsigned int index, unsigned int vertex,
87  float& r, float& g, float& b, float& a ) const;
88 
90  virtual void setUVCoordinates( unsigned int index,
91  unsigned int vertIndex, float u, float v );
92 
94  virtual void getUVCoordinates( unsigned int index,
95  unsigned int vertIndex, float& u, float& v ) const;
96 
98 
99 
102 
105  virtual void setFillParameters( unsigned int index, void* fill,
106  unsigned int fullStipplePattern[32] = 0 );
107 
110  virtual void getFillParameters( unsigned int index, void*& fill,
111  unsigned int fullStipplePattern[32] ) const;
112 
115  virtual void setGroup( unsigned int index, float zFactor );
116 
119  virtual float group( unsigned int index ) const;
120 
122 
123  protected:
124 
126  virtual float* vertexData() const;
127 
129  virtual unsigned int vertexDataSize() const;
130 
132  void addIndexedTextureCache( unsigned int index, void* textureHandle );
133 
135  void removeIndexedTextureCache( unsigned int index, void* textureHandle );
136 
137  protected:
138 
140  {
141  unsigned int* indexPtr;
143  };
144 
145  typedef std::vector<DtOffsetColoredTexturedVertex> TexturedQuadVertexList;
146  typedef std::vector<TexturedQuadInfo> TexturedQuadInfoList;
147  typedef boost::unordered_map<void*,std::vector<unsigned int> > TextureIndexMap;
148 
155  };
156 
157 }
boost::unordered_map< void *, std::vector< unsigned int > > TextureIndexMap
Definition: DtTexturedPrimitiveStyle.h:147
std::vector< TexturedQuadInfo > TexturedQuadInfoList
Definition: DtTexturedPrimitiveStyle.h:146
The abstract base class for the various primitive styles.
Definition: DtPrimitiveStyle.h:21
DtProjected2DTexturedEffect * myEffect
Definition: DtTexturedPrimitiveStyle.h:153
TexturedQuadVertexList myTexturedQuadsVertices
Definition: DtTexturedPrimitiveStyle.h:150
void * TextureHandle
Definition: DtTexturedPrimitiveStyle.h:142
std::vector< DtOffsetColoredTexturedVertex > TexturedQuadVertexList
Definition: DtTexturedPrimitiveStyle.h:145
A extended precision 2D quad rendering effect.
Definition: DtProjected2DTexturedEffect.h:19
TextureIndexMap myTextureIndexMap
Definition: DtTexturedPrimitiveStyle.h:152
The overlay resource provider class provies resources for overlay drawing classes.
Definition: DtOverlayResourceProvider.h:23
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
DtOverlayResourceProvider & myResourceProvider
Definition: DtTexturedPrimitiveStyle.h:149
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Definition: DtTexturedPrimitiveStyle.h:139
A style for rendering a primitive with a single texture applied.
Definition: DtTexturedPrimitiveStyle.h:25
bool myRepeating
Definition: DtTexturedPrimitiveStyle.h:154
unsigned int * indexPtr
Definition: DtTexturedPrimitiveStyle.h:141
TexturedQuadInfoList myTexturedQuads
Definition: DtTexturedPrimitiveStyle.h:151
const char int mode
Definition: ioapi.h:38
Contains the makVrv::DtTextured2DRenderer class declaration.
voidpf uLong offset
Definition: ioapi.h:42
Contains the makVrv::DtPrimitiveStyle class declaration.

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)