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

#include <CIndexBuffer.h>

Inheritance diagram for irr::scene::CIndexBuffer:
irr::scene::IIndexBuffer irr::IReferenceCounted

Public Member Functions

 CIndexBuffer (video::E_INDEX_TYPE IndexType)
 
 CIndexBuffer (const IIndexBuffer &IndexBufferCopy)
 
virtual ~CIndexBuffer ()
 
virtual void setType (video::E_INDEX_TYPE IndexType) _IRR_OVERRIDE_
 
virtual voidgetData () _IRR_OVERRIDE_
 
virtual video::E_INDEX_TYPE getType () const _IRR_OVERRIDE_
 
virtual u32 stride () const _IRR_OVERRIDE_
 
virtual u32 size () const _IRR_OVERRIDE_
 
virtual void push_back (const u32 &element) _IRR_OVERRIDE_
 
virtual u32 operator [] (u32 index) const _IRR_OVERRIDE_
 
virtual u32 getLast () _IRR_OVERRIDE_
 
virtual void setValue (u32 index, u32 value) _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 voidpointer () _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

IIndexList * Indices
 
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 15 of file CIndexBuffer.h.

Constructor & Destructor Documentation

◆ CIndexBuffer() [1/2]

irr::scene::CIndexBuffer::CIndexBuffer ( video::E_INDEX_TYPE  IndexType)
inline

Definition at line 93 of file CIndexBuffer.h.

94  {
95  setType(IndexType);
96  }
Don't store on the hardware.
virtual void setType(video::E_INDEX_TYPE IndexType) _IRR_OVERRIDE_
Definition: CIndexBuffer.h:113
E_HARDWARE_MAPPING MappingHint
Definition: CIndexBuffer.h:217

◆ CIndexBuffer() [2/2]

irr::scene::CIndexBuffer::CIndexBuffer ( const IIndexBuffer IndexBufferCopy)
inline

Definition at line 98 of file CIndexBuffer.h.

99  {
100  setType(IndexBufferCopy.getType());
101  reallocate(IndexBufferCopy.size());
102 
103  for (u32 n=0;n<IndexBufferCopy.size();++n)
104  push_back(IndexBufferCopy[n]);
105  }
GLdouble n
virtual void push_back(const u32 &element) _IRR_OVERRIDE_
Definition: CIndexBuffer.h:155
Don't store on the hardware.
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
virtual void reallocate(u32 new_size) _IRR_OVERRIDE_
Definition: CIndexBuffer.h:180
virtual void setType(video::E_INDEX_TYPE IndexType) _IRR_OVERRIDE_
Definition: CIndexBuffer.h:113
E_HARDWARE_MAPPING MappingHint
Definition: CIndexBuffer.h:217

◆ ~CIndexBuffer()

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

Definition at line 107 of file CIndexBuffer.h.

108  {
109  delete Indices;
110  }

Member Function Documentation

◆ allocated_size()

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

Implements irr::scene::IIndexBuffer.

Definition at line 185 of file CIndexBuffer.h.

186  {
187  return Indices->allocated_size();
188  }

◆ getChangedID()

virtual u32 irr::scene::CIndexBuffer::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::IIndexBuffer.

Definition at line 215 of file CIndexBuffer.h.

215 {return ChangedID;}

◆ getData()

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

Implements irr::scene::IIndexBuffer.

Definition at line 144 of file CIndexBuffer.h.

144 {return Indices->pointer();}

◆ getHardwareMappingHint()

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

get the current hardware mapping hint

Implements irr::scene::IIndexBuffer.

Definition at line 196 of file CIndexBuffer.h.

197  {
198  return MappingHint;
199  }
E_HARDWARE_MAPPING MappingHint
Definition: CIndexBuffer.h:217

◆ getLast()

virtual u32 irr::scene::CIndexBuffer::getLast ( )
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 165 of file CIndexBuffer.h.

166  {
167  return Indices->getLast();
168  }

◆ getType()

virtual video::E_INDEX_TYPE irr::scene::CIndexBuffer::getType ( ) const
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 146 of file CIndexBuffer.h.

146 {return Indices->getType();}

◆ operator []()

virtual u32 irr::scene::CIndexBuffer::operator [] ( u32  index) const
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 160 of file CIndexBuffer.h.

161  {
162  return (*Indices)[index];
163  }
GLuint index

◆ pointer()

virtual void* irr::scene::CIndexBuffer::pointer ( )
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 190 of file CIndexBuffer.h.

191  {
192  return Indices->pointer();
193  }

◆ push_back()

virtual void irr::scene::CIndexBuffer::push_back ( const u32 element)
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 155 of file CIndexBuffer.h.

156  {
157  Indices->push_back(element);
158  }

◆ reallocate()

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

Implements irr::scene::IIndexBuffer.

Definition at line 180 of file CIndexBuffer.h.

181  {
182  Indices->reallocate(new_size);
183  }

◆ set_used()

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

Implements irr::scene::IIndexBuffer.

Definition at line 175 of file CIndexBuffer.h.

176  {
177  Indices->set_used(usedNow);
178  }

◆ setDirty()

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

flags the mesh as changed, reloads hardware buffers

Implements irr::scene::IIndexBuffer.

Definition at line 208 of file CIndexBuffer.h.

209  {
210  ++ChangedID;
211  }

◆ setHardwareMappingHint()

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

set the hardware mapping hint, for driver

Implements irr::scene::IIndexBuffer.

Definition at line 202 of file CIndexBuffer.h.

203  {
204  MappingHint=NewMappingHint;
205  }
E_HARDWARE_MAPPING MappingHint
Definition: CIndexBuffer.h:217

◆ setType()

virtual void irr::scene::CIndexBuffer::setType ( video::E_INDEX_TYPE  IndexType)
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 113 of file CIndexBuffer.h.

114  {
115  IIndexList *NewIndices=0;
116 
117  switch (IndexType)
118  {
119  case video::EIT_16BIT:
120  {
121  NewIndices=new CSpecificIndexList<u16>;
122  break;
123  }
124  case video::EIT_32BIT:
125  {
126  NewIndices=new CSpecificIndexList<u32>;
127  break;
128  }
129  }
130 
131  if (Indices)
132  {
133  NewIndices->reallocate( Indices->size() );
134 
135  for(u32 n=0;n<Indices->size();++n)
136  NewIndices->push_back((*Indices)[n]);
137 
138  delete Indices;
139  }
140 
141  Indices=NewIndices;
142  }
GLdouble n
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62

◆ setValue()

virtual void irr::scene::CIndexBuffer::setValue ( u32  index,
u32  value 
)
inlinevirtual

Implements irr::scene::IIndexBuffer.

Definition at line 170 of file CIndexBuffer.h.

171  {
172  Indices->setValue(index, value);
173  }
GLsizei const GLfloat * value
GLuint index

◆ size()

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

Implements irr::scene::IIndexBuffer.

Definition at line 150 of file CIndexBuffer.h.

151  {
152  return Indices->size();
153  }

◆ stride()

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

Implements irr::scene::IIndexBuffer.

Definition at line 148 of file CIndexBuffer.h.

148 {return Indices->stride();}

Member Data Documentation

◆ ChangedID

u32 irr::scene::CIndexBuffer::ChangedID

Definition at line 218 of file CIndexBuffer.h.

◆ Indices

IIndexList* irr::scene::CIndexBuffer::Indices

Definition at line 91 of file CIndexBuffer.h.

◆ MappingHint

E_HARDWARE_MAPPING irr::scene::CIndexBuffer::MappingHint

Definition at line 217 of file CIndexBuffer.h.


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