arsa  2.7
Classes | Public Member Functions | Public Attributes | List of all members
irr::scene::CVertexBuffer Class Reference

#include <CVertexBuffer.h>

Inheritance diagram for irr::scene::CVertexBuffer:
irr::scene::IVertexBuffer irr::IReferenceCounted

Public Member Functions

 CVertexBuffer (video::E_VERTEX_TYPE vertexType)
 
 CVertexBuffer (const IVertexBuffer &VertexBufferCopy)
 
virtual ~CVertexBuffer ()
 
virtual void setType (video::E_VERTEX_TYPE vertexType) _IRR_OVERRIDE_
 
virtual voidgetData () _IRR_OVERRIDE_
 
virtual video::E_VERTEX_TYPE getType () const _IRR_OVERRIDE_
 
virtual u32 stride () const _IRR_OVERRIDE_
 
virtual u32 size () const _IRR_OVERRIDE_
 
virtual void push_back (const video::S3DVertex &element) _IRR_OVERRIDE_
 
virtual video::S3DVertexoperator [] (const u32 index) const _IRR_OVERRIDE_
 
virtual video::S3DVertexgetLast () _IRR_OVERRIDE_
 
virtual void set_used (u32 usedNow) _IRR_OVERRIDE_
 
virtual void reallocate (u32 new_size) _IRR_OVERRIDE_
 
virtual u32 allocated_size () const _IRR_OVERRIDE_
 
virtual video::S3DVertexpointer () _IRR_OVERRIDE_
 
virtual E_HARDWARE_MAPPING getHardwareMappingHint () const _IRR_OVERRIDE_
 get the current hardware mapping hint More...
 
virtual void setHardwareMappingHint (E_HARDWARE_MAPPING NewMappingHint) _IRR_OVERRIDE_
 set the hardware mapping hint, for driver More...
 
virtual void setDirty () _IRR_OVERRIDE_
 flags the mesh as changed, reloads hardware buffers More...
 
virtual u32 getChangedID () const _IRR_OVERRIDE_
 Get the currently used ID for identification of changes. More...
 
- Public Member Functions inherited from irr::IReferenceCounted
 IReferenceCounted ()
 Constructor. More...
 
virtual ~IReferenceCounted ()
 Destructor. More...
 
void grab () const
 Grabs the object. Increments the reference counter by one. More...
 
bool drop () const
 Drops the object. Decrements the reference counter by one. More...
 
s32 getReferenceCount () const
 Get the reference count. More...
 
const c8getDebugName () const
 Returns the debug name of the object. More...
 

Public Attributes

IVertexList * Vertices
 
E_HARDWARE_MAPPING MappingHint
 
u32 ChangedID
 

Additional Inherited Members

- Protected Member Functions inherited from irr::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object. More...
 

Detailed Description

Definition at line 16 of file CVertexBuffer.h.

Constructor & Destructor Documentation

◆ CVertexBuffer() [1/2]

irr::scene::CVertexBuffer::CVertexBuffer ( video::E_VERTEX_TYPE  vertexType)
inline

Definition at line 75 of file CVertexBuffer.h.

75  : Vertices(0),
77  {
78  setType(vertexType);
79  }
Don't store on the hardware.
virtual void setType(video::E_VERTEX_TYPE vertexType) _IRR_OVERRIDE_
Definition: CVertexBuffer.h:98
E_HARDWARE_MAPPING MappingHint

◆ CVertexBuffer() [2/2]

irr::scene::CVertexBuffer::CVertexBuffer ( const IVertexBuffer VertexBufferCopy)
inline

Definition at line 81 of file CVertexBuffer.h.

81  :
83  ChangedID(1)
84  {
85  setType(VertexBufferCopy.getType());
86  reallocate(VertexBufferCopy.size());
87 
88  for (u32 n=0;n<VertexBufferCopy.size();++n)
89  push_back(VertexBufferCopy[n]);
90  }
GLdouble n
Don't store on the hardware.
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
virtual void push_back(const video::S3DVertex &element) _IRR_OVERRIDE_
virtual void setType(video::E_VERTEX_TYPE vertexType) _IRR_OVERRIDE_
Definition: CVertexBuffer.h:98
E_HARDWARE_MAPPING MappingHint
virtual void reallocate(u32 new_size) _IRR_OVERRIDE_

◆ ~CVertexBuffer()

virtual irr::scene::CVertexBuffer::~CVertexBuffer ( )
inlinevirtual

Definition at line 92 of file CVertexBuffer.h.

93  {
94  delete Vertices;
95  }

Member Function Documentation

◆ allocated_size()

virtual u32 irr::scene::CVertexBuffer::allocated_size ( ) const
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 169 of file CVertexBuffer.h.

170  {
171  return Vertices->allocated_size();
172  }

◆ getChangedID()

virtual u32 irr::scene::CVertexBuffer::getChangedID ( ) const
inlinevirtual

Get the currently used ID for identification of changes.

This shouldn't be used for anything outside the VideoDriver.

Implements irr::scene::IVertexBuffer.

Definition at line 199 of file CVertexBuffer.h.

◆ getData()

virtual void* irr::scene::CVertexBuffer::getData ( )
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 133 of file CVertexBuffer.h.

133 {return Vertices->pointer();}

◆ getHardwareMappingHint()

virtual E_HARDWARE_MAPPING irr::scene::CVertexBuffer::getHardwareMappingHint ( ) const
inlinevirtual

get the current hardware mapping hint

Implements irr::scene::IVertexBuffer.

Definition at line 180 of file CVertexBuffer.h.

181  {
182  return MappingHint;
183  }
E_HARDWARE_MAPPING MappingHint

◆ getLast()

virtual video::S3DVertex& irr::scene::CVertexBuffer::getLast ( )
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 154 of file CVertexBuffer.h.

155  {
156  return Vertices->getLast();
157  }

◆ getType()

virtual video::E_VERTEX_TYPE irr::scene::CVertexBuffer::getType ( ) const
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 135 of file CVertexBuffer.h.

135 {return Vertices->getType();}

◆ operator []()

virtual video::S3DVertex& irr::scene::CVertexBuffer::operator [] ( const u32  index) const
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 149 of file CVertexBuffer.h.

150  {
151  return (*Vertices)[index];
152  }
GLuint index

◆ pointer()

virtual video::S3DVertex* irr::scene::CVertexBuffer::pointer ( )
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 174 of file CVertexBuffer.h.

175  {
176  return Vertices->pointer();
177  }

◆ push_back()

virtual void irr::scene::CVertexBuffer::push_back ( const video::S3DVertex element)
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 144 of file CVertexBuffer.h.

145  {
146  Vertices->push_back(element);
147  }

◆ reallocate()

virtual void irr::scene::CVertexBuffer::reallocate ( u32  new_size)
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 164 of file CVertexBuffer.h.

165  {
166  Vertices->reallocate(new_size);
167  }

◆ set_used()

virtual void irr::scene::CVertexBuffer::set_used ( u32  usedNow)
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 159 of file CVertexBuffer.h.

160  {
161  Vertices->set_used(usedNow);
162  }

◆ setDirty()

virtual void irr::scene::CVertexBuffer::setDirty ( )
inlinevirtual

flags the mesh as changed, reloads hardware buffers

Implements irr::scene::IVertexBuffer.

Definition at line 192 of file CVertexBuffer.h.

193  {
194  ++ChangedID;
195  }

◆ setHardwareMappingHint()

virtual void irr::scene::CVertexBuffer::setHardwareMappingHint ( E_HARDWARE_MAPPING  NewMappingHint)
inlinevirtual

set the hardware mapping hint, for driver

Implements irr::scene::IVertexBuffer.

Definition at line 186 of file CVertexBuffer.h.

187  {
188  MappingHint=NewMappingHint;
189  }
E_HARDWARE_MAPPING MappingHint

◆ setType()

virtual void irr::scene::CVertexBuffer::setType ( video::E_VERTEX_TYPE  vertexType)
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 98 of file CVertexBuffer.h.

99  {
100  IVertexList *NewVertices=0;
101 
102  switch (vertexType)
103  {
104  case video::EVT_STANDARD:
105  {
106  NewVertices=new CSpecificVertexList<video::S3DVertex>;
107  break;
108  }
109  case video::EVT_2TCOORDS:
110  {
111  NewVertices=new CSpecificVertexList<video::S3DVertex2TCoords>;
112  break;
113  }
114  case video::EVT_TANGENTS:
115  {
116  NewVertices=new CSpecificVertexList<video::S3DVertexTangents>;
117  break;
118  }
119  }
120  if (Vertices)
121  {
122  NewVertices->reallocate( Vertices->size() );
123 
124  for(u32 n=0;n<Vertices->size();++n)
125  NewVertices->push_back((*Vertices)[n]);
126 
127  delete Vertices;
128  }
129 
130  Vertices=NewVertices;
131  }
GLdouble n
Vertex with two texture coordinates, video::S3DVertex2TCoords.
Definition: S3DVertex.h:25
Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Definition: S3DVertex.h:31
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
Definition: S3DVertex.h:21

◆ size()

virtual u32 irr::scene::CVertexBuffer::size ( ) const
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 139 of file CVertexBuffer.h.

140  {
141  return Vertices->size();
142  }

◆ stride()

virtual u32 irr::scene::CVertexBuffer::stride ( ) const
inlinevirtual

Implements irr::scene::IVertexBuffer.

Definition at line 137 of file CVertexBuffer.h.

137 {return Vertices->stride();}

Member Data Documentation

◆ ChangedID

u32 irr::scene::CVertexBuffer::ChangedID

Definition at line 202 of file CVertexBuffer.h.

◆ MappingHint

E_HARDWARE_MAPPING irr::scene::CVertexBuffer::MappingHint

Definition at line 201 of file CVertexBuffer.h.

◆ Vertices

IVertexList* irr::scene::CVertexBuffer::Vertices

Definition at line 73 of file CVertexBuffer.h.


The documentation for this class was generated from the following file: