40 #ifndef _graphicsproceduralmeshloader_cpp
41 #define _graphicsproceduralmeshloader_cpp
43 #include "Graphics/Procedural/Mesh/meshloader.h"
45 #include "Graphics/mesh.h"
46 #include "Graphics/submesh.h"
75 CurrSubMesh->
GetInfo(SubMeshInfo);
VertexInfo Vertices
A collection of containers storing the various properties of a Vertex.
virtual void AddToTriangleBuffer(TriangleBuffer &Buffer) const
Adds the vertices and indices as configured in this generator to a triangle buffer.
virtual ~MeshLoader()
Class destructor.
IntVec Indices
A container of Indexes used to assemble the Vertices for rendering.
A convenience buffer that stores vertices and indices of a mesh to be generated.
This class is used to check and modify the properties of a graphics mesh.
String MaterialName
The name of the material used to render the Mesh/SubMesh.
void EstimateIndexCount(const Whole IndexCount)
Gives an estimation of the number of indices needed for this triangle buffer.
void RebaseOffset()
Rebase index offset.
String MaterialGroup
The resource group in which the named Material can be found.
A generator class for loading an external mesh into a procedural buffer.
This class represents a sub-section of an overall mesh.
void BeginSection(const String &MatName="", const String &MatGroup="", const Whole RenderOp=Graphics::RO_TriangleList)
Gets a BufferSection that can be appended to the end of this buffer.
Whole GetVertexCount() const
Gets the number of Vertices in this Mesh.
Whole VertexCount
The number of Vertices in the Mesh/SubMesh.
void EstimateVertexCount(const Whole VertexCount)
Gives an estimation of the number of vertices need for this triangle buffer.
Mesh * GenMesh
A pointer to the Mesh to copy into a TriangleBuffer.
void EndSection()
Sets a BufferSection as the end section of this buffer.
Vector2Vec UVs
A container storing the texture coordinates of each vertex.
A convenience class for the storage of rendering data in a Mesh/SubMesh.
Whole GetNumSubMeshes() const
Gets the number of SubMeshes in this Mesh.
Vector3Vec Normals
A container storing the normal of each vertex.
TriangleBuffer & AddIndex(const Integer Index)
Adds an index to the index buffer.
void GetInfo(MeshInfo &ToFill) const
Gets the information used to render this SubMesh.
Whole GetIndexCount() const
Gets the number of Indices in this Mesh.
The bulk of the engine components go in this namspace.
Whole IndexCount
The number of Indexes in the Mesh/SubMesh.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
MeshLoader()
Class constructor.
Whole OperationType
Used Internally. Describes how the Vertex data should be treated when rendering.
Vector3Vec Positions
A container storing the position of each vertex.
SubMesh * GetSubMesh(const Whole Index) const
Gets a SubMesh by index.
MeshLoader & SetMesh(Mesh *ToGenerate)
Sets the Mesh to be copied to the TriangleBuffer.
TriangleBuffer & AddVertex(const Vertex &Vert)
Adds a premade Vertex to the buffer.