Isle
Loading...
Searching...
No Matches
TglImpl::MeshBuilderImpl Class Reference

[AI] Implements Tgl::MeshBuilder, manages mesh construction and provides the interface for creating geometry buffers [AI] More...

#include <impl.h>

Inheritance diagram for TglImpl::MeshBuilderImpl:
Collaboration diagram for TglImpl::MeshBuilderImpl:

Public Types

typedef IDirect3DRMMesh * MeshBuilderDataType
 [AI] Internal pointer to Direct3DRMMesh [AI] More...
 

Public Member Functions

 MeshBuilderImpl ()
 [AI] Initializes mesh builder to null [AI] More...
 
 ~MeshBuilderImpl () override
 [AI] Frees mesh building resources on destruction [AI] More...
 
void * ImplementationDataPtr () override
 Returns mesh builder implementation pointer [AI]. More...
 
MeshCreateMesh (unsigned long faceCount, unsigned long vertexCount, float(*pPositions)[3], float(*pNormals)[3], float(*pTextureCoordinates)[2], unsigned long(*pFaceIndices)[3], unsigned long(*pTextureIndices)[3], ShadingModel shadingModel) override
 Creates a mesh from arrays of data (positions, normals, etc.) [AI]. More...
 
Result GetBoundingBox (float min[3], float max[3]) const override
 Gets the bounding box of the constructed mesh [AI]. More...
 
MeshBuilderClone () override
 Clones the mesh builder [AI]. More...
 
const MeshBuilderDataTypeImplementationData () const
 Gets mesh builder pointer (const) [AI]. More...
 
MeshBuilderDataTypeImplementationData ()
 Gets mesh builder pointer (mutable) [AI]. More...
 
void Destroy ()
 Frees mesh builder resources [AI]. More...
 
virtual MeshCreateMesh (unsigned long faceCount, unsigned long vertexCount, float(*pPositions)[3], float(*pNormals)[3], float(*pTextureCoordinates)[2], unsigned long(*pFaceIndices)[3], unsigned long(*pTextureIndices)[3], ShadingModel shadingModel)=0
 [AI] Creates a mesh from supplied geometry data. More...
 
virtual Result GetBoundingBox (float min[3], float max[3]) const =0
 [AI] Gets the bounding box for the constructed mesh geometry. More...
 
virtual MeshBuilderClone ()=0
 [AI] Makes a copy of the mesh builder instance (deep copy). More...
 
- Public Member Functions inherited from Tgl::Object
virtual ~Object ()
 [AI] Destructor; releases resources. More...
 
virtual void * ImplementationDataPtr ()=0
 [AI] Returns a pointer to internal/implementation data, if any. More...
 

Friends

class RendererImpl
 

Detailed Description

[AI] Implements Tgl::MeshBuilder, manages mesh construction and provides the interface for creating geometry buffers [AI]

Definition at line 1081 of file impl.h.

Member Typedef Documentation

◆ MeshBuilderDataType

[AI] Internal pointer to Direct3DRMMesh [AI]

Definition at line 1132 of file impl.h.

Constructor & Destructor Documentation

◆ MeshBuilderImpl()

TglImpl::MeshBuilderImpl::MeshBuilderImpl ( )
inline

[AI] Initializes mesh builder to null [AI]

Definition at line 1084 of file impl.h.

◆ ~MeshBuilderImpl()

TglImpl::MeshBuilderImpl::~MeshBuilderImpl ( )
inlineoverride

[AI] Frees mesh building resources on destruction [AI]

Definition at line 1087 of file impl.h.

Member Function Documentation

◆ Clone()

MeshBuilder * MeshBuilderImpl::Clone ( )
overridevirtual

Clones the mesh builder [AI].

Returns
MeshBuilder clone [AI]

Implements Tgl::MeshBuilder.

Definition at line 190 of file meshbuilder.cpp.

◆ CreateMesh()

Mesh * MeshBuilderImpl::CreateMesh ( unsigned long  faceCount,
unsigned long  vertexCount,
float(*)  pPositions[3],
float(*)  pNormals[3],
float(*)  pTextureCoordinates[2],
unsigned long(*)  pFaceIndices[3],
unsigned long(*)  pTextureIndices[3],
ShadingModel  shadingModel 
)
overridevirtual

Creates a mesh from arrays of data (positions, normals, etc.) [AI].

Parameters
faceCountNumber of faces [AI]
vertexCountNumber of vertices [AI]
pPositionsArray of vertex positions [AI]
pNormalsArray of normals [AI]
pTextureCoordinatesArray of texture coordinates [AI]
pFaceIndicesFace indices [AI]
pTextureIndicesTexture indices per face [AI]
shadingModelShading model to use [AI]
Returns
New Mesh pointer [AI]

Implements Tgl::MeshBuilder.

Definition at line 18 of file meshbuilder.cpp.

◆ Destroy()

void TglImpl::MeshBuilderImpl::Destroy ( )
inline

Frees mesh builder resources [AI].

Frees mesh builder object if owned [AI].

Definition at line 1195 of file impl.h.

◆ GetBoundingBox()

Result MeshBuilderImpl::GetBoundingBox ( float  min[3],
float  max[3] 
) const
overridevirtual

Gets the bounding box of the constructed mesh [AI].

Parameters
minMinimum extents output [AI]
maxMaximum extents output [AI]

Implements Tgl::MeshBuilder.

Definition at line 182 of file meshbuilder.cpp.

◆ ImplementationData() [1/2]

MeshBuilderDataType & TglImpl::MeshBuilderImpl::ImplementationData ( )
inline

Gets mesh builder pointer (mutable) [AI].

Definition at line 1144 of file impl.h.

◆ ImplementationData() [2/2]

const MeshBuilderDataType & TglImpl::MeshBuilderImpl::ImplementationData ( ) const
inline

Gets mesh builder pointer (const) [AI].

Definition at line 1138 of file impl.h.

◆ ImplementationDataPtr()

void * MeshBuilderImpl::ImplementationDataPtr ( )
overridevirtual

Returns mesh builder implementation pointer [AI].

Implements Tgl::Object.

Definition at line 12 of file meshbuilder.cpp.

Friends And Related Function Documentation

◆ RendererImpl

friend class RendererImpl
friend

Definition at line 1151 of file impl.h.


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