# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CPrimitiveBlock Class Reference

Class CPrimitiveBlock. More...

#include <primitive_block.h>

List of all members.

Public Methods

 CPrimitiveBlock (void)
 ~CPrimitiveBlock (void)
void reserveLine (uint32 n)
 reserve space for nLines Line. You are allowed to write your Line indices on this space. More...

uint32 capacityLine () const
 Return the number of Line reserved. More...

void setNumLine (uint32 n)
 Set the number of active Line. It enlarge Line capacity, if needed. More...

uint32 getNumLine (void) const
 Get the number of active Lineangles. More...

void setLine (uint lineIdx, uint32 vidx0, uint32 vidx1)
 Build a Lineangle. More...

void addLine (uint32 vidx0, uint32 vidx1)
 Apend a line at getNumLine() (then resize +1 the numline). More...

uint32getLinePointer (void)
const uint32getLinePointer (void) const
void reserveTri (uint32 n)
 reserve space for nTris triangles. You are allowed to write your triangles indices on this space. More...

uint32 capacityTri ()
 Return the number of triangles reserved. More...

void setNumTri (uint32 n)
 Set the number of active triangles. It enlarge Tri capacity, if needed. More...

uint32 getNumTri (void) const
 Get the number of active triangles. More...

void setTri (uint triIdx, uint32 vidx0, uint32 vidx1, uint32 vidx2)
 Build a triangle. More...

void addTri (uint32 vidx0, uint32 vidx1, uint32 vidx2)
 Apend a triangle at getNumTri() (then resize +1 the numtri). More...

uint32getTriPointer (void)
const uint32getTriPointer (void) const
void reserveQuad (uint32 n)
 reserve space for quads. More...

uint32 capacityQuad ()
 Return the number of triangles reserved. More...

void setNumQuad (uint32 n)
 Set the number of active quads. More...

uint32 getNumQuad (void) const
 Get the number of active quads. More...

void setQuad (uint quadIdx, uint32 vidx0, uint32 vidx1, uint32 vidx2, uint32 vidx3)
 Build a quad. More...

void addQuad (uint32 vidx0, uint32 vidx1, uint32 vidx2, uint32 vidx3)
 Apend a quad at getNumQuad() (then resize +1 the numquad). More...

uint32getQuadPointer (void)
 Return the Quad buffer. More...

const uint32getQuadPointer (void) const
 return the quad buffer, const version. More...

uint32 getNumTriangles ()
 return total number of triangle in this primitive block. More...

void serial (NLMISC::IStream &f)

Private Attributes

uint32 _NbTris
uint32 _TriCapacity
std::vector< uint32_Tri
uint32 _NbQuads
uint32 _QuadCapacity
std::vector< uint32_Quad
uint32 _NbLines
uint32 _LineCapacity
std::vector< uint32_Line
uint32 _StripIdx
uint32_Strip
uint32 _FanIdx
uint32_Fan


Detailed Description

Class CPrimitiveBlock.

Definition at line 48 of file 3d/primitive_block.h.


Constructor & Destructor Documentation

NL3D::CPrimitiveBlock::CPrimitiveBlock void    [inline]
 

Definition at line 73 of file 3d/primitive_block.h.

References _LineCapacity, _NbLines, _NbQuads, _NbTris, _QuadCapacity, and _TriCapacity.

NL3D::CPrimitiveBlock::~CPrimitiveBlock void    [inline]
 

Definition at line 75 of file 3d/primitive_block.h.


Member Function Documentation

void NL3D::CPrimitiveBlock::addLine uint32    vidx0,
uint32    vidx1
 

Apend a line at getNumLine() (then resize +1 the numline).

Definition at line 80 of file primitive_block.cpp.

References getNumLine, setLine, and setNumLine.

void NL3D::CPrimitiveBlock::addQuad uint32    vidx0,
uint32    vidx1,
uint32    vidx2,
uint32    vidx3
 

Apend a quad at getNumQuad() (then resize +1 the numquad).

Definition at line 211 of file primitive_block.cpp.

References getNumQuad, setNumQuad, and setQuad.

void NL3D::CPrimitiveBlock::addTri uint32    vidx0,
uint32    vidx1,
uint32    vidx2
 

Apend a triangle at getNumTri() (then resize +1 the numtri).

Definition at line 138 of file primitive_block.cpp.

References getNumTri, setNumTri, and setTri.

uint32 NL3D::CPrimitiveBlock::capacityLine   const [inline]
 

Return the number of Line reserved.

Definition at line 83 of file 3d/primitive_block.h.

References _LineCapacity.

uint32 NL3D::CPrimitiveBlock::capacityQuad   [inline]
 

Return the number of triangles reserved.

Definition at line 131 of file 3d/primitive_block.h.

References _QuadCapacity.

uint32 NL3D::CPrimitiveBlock::capacityTri   [inline]
 

Return the number of triangles reserved.

Definition at line 104 of file 3d/primitive_block.h.

References _TriCapacity.

const uint32 * NL3D::CPrimitiveBlock::getLinePointer void    const
 

Definition at line 46 of file primitive_block.cpp.

References _Line.

uint32 * NL3D::CPrimitiveBlock::getLinePointer void   
 

Definition at line 38 of file primitive_block.cpp.

References _Line.

uint32 NL3D::CPrimitiveBlock::getNumLine void    const [inline]
 

Get the number of active Lineangles.

Definition at line 87 of file 3d/primitive_block.h.

References _NbLines.

Referenced by addLine.

uint32 NL3D::CPrimitiveBlock::getNumQuad void    const [inline]
 

Get the number of active quads.

Definition at line 141 of file 3d/primitive_block.h.

References _NbQuads.

Referenced by addQuad.

uint32 NL3D::CPrimitiveBlock::getNumTri void    const [inline]
 

Get the number of active triangles.

Definition at line 108 of file 3d/primitive_block.h.

References _NbTris.

Referenced by addTri.

uint32 NL3D::CPrimitiveBlock::getNumTriangles   [inline]
 

return total number of triangle in this primitive block.

Definition at line 160 of file 3d/primitive_block.h.

References _NbLines, _NbQuads, and _NbTris.

const uint32 * NL3D::CPrimitiveBlock::getQuadPointer void    const
 

return the quad buffer, const version.

Definition at line 157 of file primitive_block.cpp.

References _Quad.

uint32 * NL3D::CPrimitiveBlock::getQuadPointer void   
 

Return the Quad buffer.

Definition at line 149 of file primitive_block.cpp.

References _Quad.

const uint32 * NL3D::CPrimitiveBlock::getTriPointer void    const
 

Definition at line 99 of file primitive_block.cpp.

References _Tri.

uint32 * NL3D::CPrimitiveBlock::getTriPointer void   
 

Definition at line 91 of file primitive_block.cpp.

References _Tri.

void NL3D::CPrimitiveBlock::reserveLine uint32    n
 

reserve space for nLines Line. You are allowed to write your Line indices on this space.

Definition at line 56 of file primitive_block.cpp.

References _Line, and _LineCapacity.

Referenced by setNumLine.

void NL3D::CPrimitiveBlock::reserveQuad uint32    n
 

reserve space for quads.

Definition at line 170 of file primitive_block.cpp.

References _Quad, and _QuadCapacity.

Referenced by setNumQuad.

void NL3D::CPrimitiveBlock::reserveTri uint32    n
 

reserve space for nTris triangles. You are allowed to write your triangles indices on this space.

Definition at line 109 of file primitive_block.cpp.

References _Tri, and _TriCapacity.

Referenced by setNumTri.

void NL3D::CPrimitiveBlock::serial NLMISC::IStream   f
 

Definition at line 219 of file primitive_block.cpp.

References _Line, _LineCapacity, _NbLines, _NbQuads, _NbTris, _Quad, _QuadCapacity, _Tri, _TriCapacity, NLMISC::IStream::serial, NLMISC::IStream::serialCont, and NLMISC::IStream::serialVersion.

void NL3D::CPrimitiveBlock::setLine uint    lineIdx,
uint32    vidx0,
uint32    vidx1
 

Build a Lineangle.

Definition at line 69 of file primitive_block.cpp.

References _Line.

Referenced by addLine.

void NL3D::CPrimitiveBlock::setNumLine uint32    n
 

Set the number of active Line. It enlarge Line capacity, if needed.

Definition at line 61 of file primitive_block.cpp.

References _LineCapacity, _NbLines, and reserveLine.

Referenced by addLine.

void NL3D::CPrimitiveBlock::setNumQuad uint32    n
 

Set the number of active quads.

It enlarges Quad capacity, if needed.

Definition at line 180 of file primitive_block.cpp.

References _NbQuads, _QuadCapacity, and reserveQuad.

Referenced by addQuad.

void NL3D::CPrimitiveBlock::setNumTri uint32    n
 

Set the number of active triangles. It enlarge Tri capacity, if needed.

Definition at line 114 of file primitive_block.cpp.

References _NbTris, _TriCapacity, and reserveTri.

Referenced by addTri.

void NL3D::CPrimitiveBlock::setQuad uint    quadIdx,
uint32    vidx0,
uint32    vidx1,
uint32    vidx2,
uint32    vidx3
 

Build a quad.

Definition at line 193 of file primitive_block.cpp.

References _Quad.

Referenced by addQuad.

void NL3D::CPrimitiveBlock::setTri uint    triIdx,
uint32    vidx0,
uint32    vidx1,
uint32    vidx2
 

Build a triangle.

Definition at line 122 of file primitive_block.cpp.

References _Tri, and nlassert.

Referenced by addTri.


Member Data Documentation

uint32* NL3D::CPrimitiveBlock::_Fan [private]
 

Definition at line 71 of file 3d/primitive_block.h.

uint32 NL3D::CPrimitiveBlock::_FanIdx [private]
 

Definition at line 70 of file 3d/primitive_block.h.

std::vector<uint32> NL3D::CPrimitiveBlock::_Line [private]
 

Definition at line 64 of file 3d/primitive_block.h.

Referenced by getLinePointer, reserveLine, serial, and setLine.

uint32 NL3D::CPrimitiveBlock::_LineCapacity [private]
 

Definition at line 63 of file 3d/primitive_block.h.

Referenced by capacityLine, CPrimitiveBlock, reserveLine, serial, and setNumLine.

uint32 NL3D::CPrimitiveBlock::_NbLines [private]
 

Definition at line 62 of file 3d/primitive_block.h.

Referenced by CPrimitiveBlock, getNumLine, getNumTriangles, serial, and setNumLine.

uint32 NL3D::CPrimitiveBlock::_NbQuads [private]
 

Definition at line 57 of file 3d/primitive_block.h.

Referenced by CPrimitiveBlock, getNumQuad, getNumTriangles, serial, and setNumQuad.

uint32 NL3D::CPrimitiveBlock::_NbTris [private]
 

Definition at line 52 of file 3d/primitive_block.h.

Referenced by CPrimitiveBlock, getNumTri, getNumTriangles, serial, and setNumTri.

std::vector<uint32> NL3D::CPrimitiveBlock::_Quad [private]
 

Definition at line 59 of file 3d/primitive_block.h.

Referenced by getQuadPointer, reserveQuad, serial, and setQuad.

uint32 NL3D::CPrimitiveBlock::_QuadCapacity [private]
 

Definition at line 58 of file 3d/primitive_block.h.

Referenced by capacityQuad, CPrimitiveBlock, reserveQuad, serial, and setNumQuad.

uint32* NL3D::CPrimitiveBlock::_Strip [private]
 

Definition at line 69 of file 3d/primitive_block.h.

uint32 NL3D::CPrimitiveBlock::_StripIdx [private]
 

Todo:
hulud: support for strips and fans

Definition at line 68 of file 3d/primitive_block.h.

std::vector<uint32> NL3D::CPrimitiveBlock::_Tri [private]
 

Definition at line 54 of file 3d/primitive_block.h.

Referenced by getTriPointer, reserveTri, serial, and setTri.

uint32 NL3D::CPrimitiveBlock::_TriCapacity [private]
 

Definition at line 53 of file 3d/primitive_block.h.

Referenced by capacityTri, CPrimitiveBlock, reserveTri, serial, and setNumTri.


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