Public Member Functions | Private Member Functions | Private Attributes | List of all members
gte::MeshFactory Class Reference

#include <GteMeshFactory.h>

Public Member Functions

std::shared_ptr< VisualCreateBox (float xExtent, float yExtent, float zExtent)
 
std::shared_ptr< VisualCreateCylinderClosed (unsigned int numAxisSamples, unsigned int numRadialSamples, float radius, float height)
 
std::shared_ptr< VisualCreateCylinderOpen (unsigned int numAxisSamples, unsigned int numRadialSamples, float radius, float height)
 
std::shared_ptr< VisualCreateDisk (unsigned int numShellSamples, unsigned int numRadialSamples, float radius)
 
std::shared_ptr< VisualCreateDodecahedron ()
 
std::shared_ptr< VisualCreateHexahedron ()
 
std::shared_ptr< VisualCreateIcosahedron ()
 
std::shared_ptr< VisualCreateOctahedron ()
 
std::shared_ptr< VisualCreateRectangle (unsigned int numXSamples, unsigned int numYSamples, float xExtent, float yExtent)
 
std::shared_ptr< VisualCreateSphere (unsigned int numZSamples, unsigned int numRadialSamples, float radius)
 
std::shared_ptr< VisualCreateTetrahedron ()
 
std::shared_ptr< VisualCreateTorus (unsigned int numCircleSamples, unsigned int numRadialSamples, float outerRadius, float innerRadius)
 
std::shared_ptr< VisualCreateTriangle (unsigned int numSamples, float xExtent, float yExtent)
 
 MeshFactory ()
 
void SetIndexBufferUsage (Resource::Usage usage)
 
void SetIndexFormat (bool use32Bit)
 
void SetOutside (bool outside)
 
void SetVertexBufferUsage (Resource::Usage usage)
 
void SetVertexFormat (VertexFormat const &format)
 
 ~MeshFactory ()
 

Private Member Functions

Vector3< float > & Bitangent (unsigned int i)
 
std::shared_ptr< IndexBufferCreateIBuffer (unsigned int numTriangles)
 
std::shared_ptr< VertexBufferCreateVBuffer (unsigned int numVertices)
 
char * GetGeometricChannel (std::shared_ptr< VertexBuffer > const &vbuffer, VASemantic semantic, float w)
 
Vector3< float > & Normal (unsigned int i)
 
Vector3< float > & Position (unsigned int i)
 
void ReverseTriangleOrder (IndexBuffer *ibuffer)
 
void SetBinormal (unsigned int i, Vector3< float > const &bin)
 
void SetNormal (unsigned int i, Vector3< float > const &nor)
 
void SetPlatonicTCoord (unsigned int i, Vector3< float > const &pos)
 
void SetPosition (unsigned int i, Vector3< float > const &pos)
 
void SetTangent (unsigned int i, Vector3< float > const &tan)
 
void SetTCoord (unsigned int i, Vector2< float > const &tcd)
 
Vector3< float > & Tangent (unsigned int i)
 
Vector2< float > & TCoord (unsigned int unit, unsigned int i)
 

Private Attributes

bool mAssignTCoords [VA_MAX_TCOORD_UNITS]
 
char * mBitangents
 
Resource::Usage mIBUsage
 
size_t mIndexSize
 
char * mNormals
 
bool mOutside
 
char * mPositions
 
char * mTangents
 
char * mTCoords [VA_MAX_TCOORD_UNITS]
 
Resource::Usage mVBUsage
 
VertexFormat mVFormat
 

Detailed Description

Definition at line 29 of file GteMeshFactory.h.

Constructor & Destructor Documentation

MeshFactory::~MeshFactory ( )

Definition at line 14 of file GteMeshFactory.cpp.

MeshFactory::MeshFactory ( )

Definition at line 18 of file GteMeshFactory.cpp.

Member Function Documentation

Vector3< float > & gte::MeshFactory::Bitangent ( unsigned int  i)
inlineprivate

Definition at line 216 of file GteMeshFactory.h.

std::shared_ptr< Visual > MeshFactory::CreateBox ( float  xExtent,
float  yExtent,
float  zExtent 
)

Definition at line 242 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateCylinderClosed ( unsigned int  numAxisSamples,
unsigned int  numRadialSamples,
float  radius,
float  height 
)

Definition at line 440 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateCylinderOpen ( unsigned int  numAxisSamples,
unsigned int  numRadialSamples,
float  radius,
float  height 
)

Definition at line 332 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateDisk ( unsigned int  numShellSamples,
unsigned int  numRadialSamples,
float  radius 
)

Definition at line 153 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateDodecahedron ( )

Definition at line 988 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateHexahedron ( )

Definition at line 855 of file GteMeshFactory.cpp.

std::shared_ptr< IndexBuffer > MeshFactory::CreateIBuffer ( unsigned int  numTriangles)
private

Definition at line 1222 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateIcosahedron ( )

Definition at line 1096 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateOctahedron ( )

Definition at line 925 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateRectangle ( unsigned int  numXSamples,
unsigned int  numYSamples,
float  xExtent,
float  yExtent 
)

Definition at line 36 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateSphere ( unsigned int  numZSamples,
unsigned int  numRadialSamples,
float  radius 
)

Definition at line 504 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateTetrahedron ( )

Definition at line 795 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateTorus ( unsigned int  numCircleSamples,
unsigned int  numRadialSamples,
float  outerRadius,
float  innerRadius 
)

Definition at line 671 of file GteMeshFactory.cpp.

std::shared_ptr< Visual > MeshFactory::CreateTriangle ( unsigned int  numSamples,
float  xExtent,
float  yExtent 
)

Definition at line 81 of file GteMeshFactory.cpp.

std::shared_ptr< VertexBuffer > MeshFactory::CreateVBuffer ( unsigned int  numVertices)
private

Definition at line 1181 of file GteMeshFactory.cpp.

char * MeshFactory::GetGeometricChannel ( std::shared_ptr< VertexBuffer > const &  vbuffer,
VASemantic  semantic,
float  w 
)
private

Definition at line 1232 of file GteMeshFactory.cpp.

Vector3< float > & gte::MeshFactory::Normal ( unsigned int  i)
inlineprivate

Definition at line 204 of file GteMeshFactory.h.

Vector3< float > & gte::MeshFactory::Position ( unsigned int  i)
inlineprivate

Definition at line 198 of file GteMeshFactory.h.

void MeshFactory::ReverseTriangleOrder ( IndexBuffer ibuffer)
private

Definition at line 1321 of file GteMeshFactory.cpp.

void MeshFactory::SetBinormal ( unsigned int  i,
Vector3< float > const &  bin 
)
private

Definition at line 1278 of file GteMeshFactory.cpp.

void gte::MeshFactory::SetIndexBufferUsage ( Resource::Usage  usage)
inline

Definition at line 188 of file GteMeshFactory.h.

void gte::MeshFactory::SetIndexFormat ( bool  use32Bit)
inline

Definition at line 183 of file GteMeshFactory.h.

void MeshFactory::SetNormal ( unsigned int  i,
Vector3< float > const &  nor 
)
private

Definition at line 1262 of file GteMeshFactory.cpp.

void gte::MeshFactory::SetOutside ( bool  outside)
inline

Definition at line 193 of file GteMeshFactory.h.

void MeshFactory::SetPlatonicTCoord ( unsigned int  i,
Vector3< float > const &  pos 
)
private

Definition at line 1297 of file GteMeshFactory.cpp.

void MeshFactory::SetPosition ( unsigned int  i,
Vector3< float > const &  pos 
)
private

Definition at line 1257 of file GteMeshFactory.cpp.

void MeshFactory::SetTangent ( unsigned int  i,
Vector3< float > const &  tan 
)
private

Definition at line 1270 of file GteMeshFactory.cpp.

void MeshFactory::SetTCoord ( unsigned int  i,
Vector2< float > const &  tcd 
)
private

Definition at line 1286 of file GteMeshFactory.cpp.

void gte::MeshFactory::SetVertexBufferUsage ( Resource::Usage  usage)
inline

Definition at line 178 of file GteMeshFactory.h.

void gte::MeshFactory::SetVertexFormat ( VertexFormat const &  format)
inline

Definition at line 173 of file GteMeshFactory.h.

Vector3< float > & gte::MeshFactory::Tangent ( unsigned int  i)
inlineprivate

Definition at line 210 of file GteMeshFactory.h.

Vector2< float > & gte::MeshFactory::TCoord ( unsigned int  unit,
unsigned int  i 
)
inlineprivate

Definition at line 222 of file GteMeshFactory.h.

Member Data Documentation

bool gte::MeshFactory::mAssignTCoords[VA_MAX_TCOORD_UNITS]
private

Definition at line 163 of file GteMeshFactory.h.

char* gte::MeshFactory::mBitangents
private

Definition at line 168 of file GteMeshFactory.h.

Resource::Usage gte::MeshFactory::mIBUsage
private

Definition at line 161 of file GteMeshFactory.h.

size_t gte::MeshFactory::mIndexSize
private

Definition at line 160 of file GteMeshFactory.h.

char* gte::MeshFactory::mNormals
private

Definition at line 166 of file GteMeshFactory.h.

bool gte::MeshFactory::mOutside
private

Definition at line 162 of file GteMeshFactory.h.

char* gte::MeshFactory::mPositions
private

Definition at line 165 of file GteMeshFactory.h.

char* gte::MeshFactory::mTangents
private

Definition at line 167 of file GteMeshFactory.h.

char* gte::MeshFactory::mTCoords[VA_MAX_TCOORD_UNITS]
private

Definition at line 169 of file GteMeshFactory.h.

Resource::Usage gte::MeshFactory::mVBUsage
private

Definition at line 161 of file GteMeshFactory.h.

VertexFormat gte::MeshFactory::mVFormat
private

Definition at line 159 of file GteMeshFactory.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06