67 #ifndef _graphicsproceduraltrianglebuffer_h
68 #define _graphicsproceduraltrianglebuffer_h
70 #include "Graphics/graphicsenumerations.h"
71 #include "Graphics/Procedural/proceduraldatatypes.h"
72 #include "matrix4x4.h"
164 this->FirstVertex = 0;
165 this->LastVertex = 0;
166 this->FirstIndex = 0;
169 this->MaterialName.clear();
170 this->MaterialGroup.clear();
261 void EstimateVertexCount(
const Whole VertexCount);
265 void EstimateIndexCount(
const Whole IndexCount);
273 SectionContainer& GetSections();
276 const SectionContainer& GetSections()
const;
280 VertexContainer& GetVertices();
283 const VertexContainer& GetVertices()
const;
311 Boole IsUsingSections()
const;
314 Boole IsWorkingOnSection()
const;
std::vector< Vertex > VertexContainer
Basic container type for Vertex storage.
Whole LastIndex
The end indicy of this section in the parent buffer.
SectionContainer::iterator SectionIterator
Iterator type for Section instances stored in this class.
bool Boole
Generally acts a single bit, true or false.
IndexContainer Indices
Container storing all of the Indices in this buffer.
VertexContainer::iterator VertexIterator
Iterator type for Vertex instances in a VertexContainer.
BufferSection CurrentSection
Temporary storage for the current section being worked on.
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.
int Integer
A datatype used to represent any integer close to.
A simple definition for a Vertex to be used when procedurally generating meshes.
A 4x4 matrix math class for the representation of full transforms.
Integer EstimatedIndexCount
The user estimated Index count for this buffer.
String MaterialGroup
The asset group where the material can be found.
Whole LastVertex
The end vertex of this section in the parent buffer.
Vector3 Position
The position of the vertex in local space.
float Real
A Datatype used to represent a real floating point number.
void Clear()
Clears all the data on this BufferSection back to a blank initialization.
Integer EstimatedVertexCount
The user estimated Vertex count for this buffer.
std::vector< BufferSection > SectionContainer
Basic container type for Section storage in this class.
std::vector< Integer > IndexContainer
A container of Integers used to represent the indicies of a shape.
~BufferSection()
Class destructor.
VertexContainer Vertices
Container storing all of the Vertices in this buffer.
Vector2 UV
The UV coordinate for applying textures.
Whole FirstIndex
The start indicy of this section in the parent buffer.
String MaterialName
The name of the material to be used with this section.
SectionContainer::const_iterator ConstSectionIterator
Const Iterator type for Section instances stored in this class.
This is used to represent a point on a 2 dimentional area, such as a screen.
Vertex(const Vector3 &Pos, const Vector3 &Norm, const Vector2 &TexCoord)
Detailed constructor.
Vertex()
Blank constructor.
~Vertex()
Class destructor.
Vertex * CurrentVertex
Convenience pointer to the Vertex currently being manipulated.
Integer GlobalOffset
Offset used to set where buffer/mesh appends begin.
Whole RenderOp
The render operation to be used for the section. See Graphics::RenderOperation enum for more info...
A convenience class used to describe a small portion of the mesh/buffer.
BufferSection()
Class constructor.
This is used to represent a point in space, or a vector through space.
VertexContainer::const_iterator ConstVertexIterator
Const Iterator type for Vertex instances in a VertexContainer.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
void operator=(const BufferSection &Other)
Assignment operator.
Vector3 Normal
The facing direction of the vertex in local space.
This is used to store information about rotation in 3d space.
SectionContainer Sections
Container storing all of the sections of this buffer.
Whole FirstVertex
The start vertex of this section in the parent buffer.
std::string String
A datatype used to a series of characters.
Vertices form triangles. Each triangle has it's own distinct set of Vertices. Vertices are not expect...