A base class containing all of the utilities needed for a mesh generator. More...
#include <meshgenerator.h>
 Collaboration diagram for Mezzanine::Graphics::Procedural::MeshGenerator< T >:Public Types | |
| enum | GeneratorOptions { GO_EnableNormals = 1, GO_SwitchUV = 2, GO_Transform = 4 } | 
| A convenience enum used to describe boolean options for a generator.  More... | |
Public Member Functions | |
| MeshGenerator () | |
| Class constructor.  | |
| virtual | ~MeshGenerator () | 
| Class destructor.  | |
| virtual void | AddToTriangleBuffer (TriangleBuffer &Buffer) const =0 | 
| Adds the vertices and indices as configured in this generator to a triangle buffer.  More... | |
| TriangleBuffer | BuildTriangleBuffer () const | 
| Creates a TriangleBuffer with the the vertices and indices as configured in this generator.  More... | |
| Mesh * | GenerateMesh (const String &MeshName, const String &MeshGroup, const String &MatName, const String &MatGroup) const | 
| Generates the mesh.  More... | |
| T & | ResetTransforms () | 
| Resets all transforms (orientation, position and scale) that would have been applied to the mesh to their default values.  More... | |
| T & | SetEnableNormals (Boole EnableNormals) | 
| Sets whether normals are enabled or not.  More... | |
| T & | SetNumTexCoordSet (const UInt8 NumSets) | 
| Sets the number of texture coordintate sets.  More... | |
| T & | SetOrientation (const Quaternion &Ori) | 
| Sets an orientation baked into the resulting mesh.  More... | |
| T & | SetOrientation (const Real X, const Real Y, const Real Z, const Real W) | 
| Sets an orientation baked into the resulting mesh.  More... | |
| T & | SetPosition (const Vector3 &Loc) | 
| Sets a translation baked into the resulting mesh.  More... | |
| T & | SetPosition (const Real X, const Real Y, const Real Z) | 
| Sets a translation baked into the resulting mesh.  More... | |
| T & | SetScale (const Vector3 &Scaling) | 
| Sets a scale baked into the resulting mesh.  More... | |
| T & | SetScale (const Real Scaling) | 
| Sets a uniform scale baked into the resulting mesh.  More... | |
| T & | SetScale (const Real X, const Real Y, const Real Z) | 
| Sets a scale baked into the resulting mesh.  More... | |
| T & | SetSwitchUV (Boole SwitchUV) | 
| Sets whether to switch U and V texture coordinates.  More... | |
| T & | SetTextureRectangle (const Real RectLeft, const Real RectRight, const Real RectTop, const Real RectBottom) | 
| Sets the texture rectangle.  More... | |
| T & | SetUTile (const Real uTile) | 
| Sets the U Tile.  More... | |
| T & | SetVTile (const Real vTile) | 
| Sets the V Tile.  More... | |
Protected Member Functions | |
| void | AddPoint (TriangleBuffer &Buffer, const Vector3 &Loc, const Vector3 &Norm, const Vector2 &UV) const | 
| Adds a new point to a triangle buffer, using the format defined for that MeshGenerator.  More... | |
Protected Attributes | |
| UInt8 | GeneratorOpts | 
| Storage for the boolean options to be used by this generator.  More... | |
| UInt8 | NumTexCoordSet | 
| The number of texture coordinate sets to include.  More... | |
| Quaternion | Orientation | 
| Orientation to apply the mesh.  More... | |
| Vector3 | Position | 
| Position to apply to the mesh.  More... | |
| Vector3 | Scale | 
| Scale to apply to the mesh.  More... | |
| Real | UTile | 
| U tile for texture coords generation.  More... | |
| Vector2 | UVOrigin | 
| Rectangle in which the texture coordinates will be placed.  More... | |
| Real | VTile | 
| V tile for texture coords generation.  More... | |
A base class containing all of the utilities needed for a mesh generator.
Definition at line 87 of file meshgenerator.h.
| enum Mezzanine::Graphics::Procedural::MeshGenerator::GeneratorOptions | 
A convenience enum used to describe boolean options for a generator.
Definition at line 91 of file meshgenerator.h.
      
  | 
  inlineprotected | 
Adds a new point to a triangle buffer, using the format defined for that MeshGenerator.
| Buffer | The triangle buffer to update. | 
| Loc | The location of the new point. | 
| Norm | the normal of the new point. | 
| UV | the uv texcoord of the new point. | 
Definition at line 128 of file meshgenerator.h.
      
  | 
  pure virtual | 
Adds the vertices and indices as configured in this generator to a triangle buffer.
| Buffer | The buffer to append this generators vertices and indices to. | 
Implemented in Mezzanine::Graphics::Procedural::Triangulator, Mezzanine::Graphics::Procedural::Extruder, Mezzanine::Graphics::Procedural::RoundedBoxGenerator, Mezzanine::Graphics::Procedural::Lathe, Mezzanine::Graphics::Procedural::BoxGenerator, Mezzanine::Graphics::Procedural::TorusKnotGenerator, Mezzanine::Graphics::Procedural::CapsuleGenerator, Mezzanine::Graphics::Procedural::CylinderGenerator, Mezzanine::Graphics::Procedural::TubeGenerator, Mezzanine::Graphics::Procedural::BooleanGenerator, Mezzanine::Graphics::Procedural::TorusGenerator, Mezzanine::Graphics::Procedural::ConeGenerator, Mezzanine::Graphics::Procedural::PlaneGenerator, Mezzanine::Graphics::Procedural::BoxCornerGenerator, Mezzanine::Graphics::Procedural::SphereGenerator, Mezzanine::Graphics::Procedural::IcoSphereGenerator, and Mezzanine::Graphics::Procedural::MeshLoader.
      
  | 
  inline | 
Creates a TriangleBuffer with the the vertices and indices as configured in this generator.
Definition at line 186 of file meshgenerator.h.
      
  | 
  inline | 
Generates the mesh.
| MeshName | The name to give to the generated mesh. | 
| MeshGroup | The asset group to place the mesh in. | 
| MatName | The name of the material to apply to the mesh. | 
| MatGroup | The asset group where the material can be found. | 
Definition at line 177 of file meshgenerator.h.
      
  | 
  inline | 
Resets all transforms (orientation, position and scale) that would have been applied to the mesh to their default values.
Definition at line 342 of file meshgenerator.h.
      
  | 
  inline | 
Sets whether normals are enabled or not.
| EnableNormals | True to generate normals as points are added to the mesh, false otherwise. | 
Definition at line 244 of file meshgenerator.h.
      
  | 
  inline | 
Sets the number of texture coordintate sets.
| NumSets | The number of texture coordinate sets to use. | 
Definition at line 234 of file meshgenerator.h.
      
  | 
  inline | 
Sets an orientation baked into the resulting mesh.
| Ori | The rotation to apply to a generated mesh. | 
Definition at line 293 of file meshgenerator.h.
      
  | 
  inline | 
Sets an orientation baked into the resulting mesh.
| X | The X component of the Axis. | 
| Y | The Y component of the Axis. | 
| Z | The Z component of the Axis. | 
| W | Rotation on the Axis X, Y and Z defined. | 
Definition at line 305 of file meshgenerator.h.
      
  | 
  inline | 
Sets a translation baked into the resulting mesh.
| Loc | The amount of translation to be applied on each axis. | 
Definition at line 273 of file meshgenerator.h.
      
  | 
  inline | 
Sets a translation baked into the resulting mesh.
| X | The amount of translation to be applied on the X axis. | 
| Y | The amount of translation to be applied on the Y axis. | 
| Z | The amount of translation to be applied on the Z axis. | 
Definition at line 284 of file meshgenerator.h.
      
  | 
  inline | 
Sets a scale baked into the resulting mesh.
| Scaling | The amount of scaling to apply on each axis to all meshes generated by this generator. | 
Definition at line 314 of file meshgenerator.h.
      
  | 
  inline | 
Sets a uniform scale baked into the resulting mesh.
| Scaling | The amount of scaling to apply on each axis to all meshes generated by this generator. | 
Definition at line 323 of file meshgenerator.h.
      
  | 
  inline | 
Sets a scale baked into the resulting mesh.
| X | The amount of scaling to apply on the X axis to all meshes generated by this generator. | 
| Y | The amount of scaling to apply on the Y axis to all meshes generated by this generator. | 
| Z | The amount of scaling to apply on the Z axis to all meshes generated by this generator. | 
Definition at line 334 of file meshgenerator.h.
      
  | 
  inline | 
Sets whether to switch U and V texture coordinates.
| SwitchUV | True to swap the UV texture coordinates as points are added to the mesh, false otherwise. | 
Definition at line 257 of file meshgenerator.h.
      
  | 
  inline | 
Sets the texture rectangle.
| RectLeft | The texture coordinate for the left edge. | 
| RectRight | The texture coordinate for the right edge. | 
| RectTop | The texture coordinate for the top edge. | 
| RectBottom | The texture coordinate for the bottom. | 
Definition at line 223 of file meshgenerator.h.
      
  | 
  inline | 
Sets the U Tile.
| uTile | The number by which U texture coordinates are multiplied. | 
Definition at line 203 of file meshgenerator.h.
      
  | 
  inline | 
Sets the V Tile.
| vTile | The number by which V texture coordinates are multiplied. | 
Definition at line 212 of file meshgenerator.h.
      
  | 
  protected | 
Storage for the boolean options to be used by this generator.
Definition at line 118 of file meshgenerator.h.
      
  | 
  protected | 
The number of texture coordinate sets to include.
Definition at line 121 of file meshgenerator.h.
      
  | 
  protected | 
Orientation to apply the mesh.
Definition at line 100 of file meshgenerator.h.
      
  | 
  protected | 
Position to apply to the mesh.
Definition at line 103 of file meshgenerator.h.
      
  | 
  protected | 
Scale to apply to the mesh.
Definition at line 106 of file meshgenerator.h.
      
  | 
  protected | 
U tile for texture coords generation.
Definition at line 112 of file meshgenerator.h.
      
  | 
  protected | 
Rectangle in which the texture coordinates will be placed.
Definition at line 109 of file meshgenerator.h.
      
  | 
  protected | 
V tile for texture coords generation.
Definition at line 115 of file meshgenerator.h.
            
            1.8.9.1. Thanks to the
            
                Open Icon Library
            
            for help with some of the icons.