67 #ifndef _graphicsproceduralextruder_h
68 #define _graphicsproceduralextruder_h
70 #include "Graphics/Procedural/Mesh/meshgenerator.h"
71 #include "Graphics/Procedural/multipath.h"
72 #include "Graphics/Procedural/multishape.h"
90 typedef std::map< Whole, ParameterTrack* >
TrackMap;
144 const Quaternion& RightOri,
const Real Scale,
const Real ScaleLeftCorrect,
const Real ScaleRightCorrect,
const Boole JoinWithNextShape)
const;
196 Extruder& SetScaleTrack(
const Whole PathIndex, ParameterTrack* Scale);
201 Extruder& SetRotationTrack(
const Whole PathIndex, ParameterTrack* Rotation);
206 Extruder& SetPathUTextureTrack(
const Whole PathIndex, ParameterTrack* PathU);
211 Extruder& SetShapeVTextureTrack(
const Whole ShapeIndex, ParameterTrack* ShapeV);
bool Boole
Generally acts a single bit, true or false.
TrackMap::iterator TrackMapIterator
Iterator type for ParameterTracks.
A generator that will create a 3D model by moving a 2D shape along a 3D Path.
A convenience buffer that stores vertices and indices of a mesh to be generated.
TrackMap RotationTracks
A map of optional Tracks that store how the shapes on a given Path are to be rotated.
std::vector< PathCoordinate > PathIntersection
Convenience type used to represent the intersection of two or more paths.
MultiShape ShapesToExtrude
A MultiShape storing all of the 2D shapes that will be extruded along the specified Paths...
TrackMap ShapeVTextureTracks
A map of optional Tracks that store how texture coordinates are to be assigned along the Shapes being...
Boole Capped
Whether or not the ends of each Path will be capped.
float Real
A Datatype used to represent a real floating point number.
This is used to represent a point on a 2 dimentional area, such as a screen.
TrackMap ScaleTracks
A map of optional Tracks that store how the shapes on a given Path are to be scaled.
A base class containing all of the utilities needed for a mesh generator.
TrackMap PathUTextureTracks
A map of optional Tracks that store how texture coordinates are to be assigned along the Paths being ...
Track< LinearInterpolator< Real > > ParameterTrack
Convenience type for a Track that stores additional optional data.
This is used to represent a point in space, or a vector through space.
MultiPath PathsToExtrude
A MultiPath storing all of the Paths the 2D shapes will be extruded along.
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.
A grouping of individual 3D curves used to express complicated structures.
This is used to store information about rotation in 3d space.
A collection of interconnected 2D points used to express an arbitrary 2D shape.
A grouping of individual 2D shapes used to express more elaborate shapes.
A collection of interconnected 3D points used to express path through 3D space.
std::map< Whole, ParameterTrack * > TrackMap
Container type for storing ParameterTracks.
TrackMap::const_iterator ConstTrackMapIterator
Const Iterator type for ParameterTracks.
A base type that provides container features for different tracks.