67 #ifndef _graphicsproceduralpath_h
68 #define _graphicsproceduralpath_h
74 #include "Graphics/Procedural/proceduraldatatypes.h"
121 static void BuildFromSegmentSoup(
const LineSeg3DVec& Segments, PathContainer& GeneratedPaths);
132 Path& AppendPath(
const Path& Other);
136 Path& AppendPathRel(
const Path& Other);
147 template<
template<
class>
class Interpolator >
151 for(
Whole CurrPoint = 0 ; CurrPoint < NumPoints ; ++CurrPoint )
153 Real InterpolateVal =
static_cast<Real>( CurrPoint ) / static_cast<Real>( NumPoints - 1 );
154 Vector3 CurvePoint = Curve.GetInterpolated(InterpolateVal);
155 this->AddPoint(CurvePoint);
164 Real GetTotalLength()
const;
168 Real GetLengthAtPoint(
const Whole PointIndex)
const;
184 Boole IsClosed()
const;
279 Shape ConvertToShape()
const;
void AppendTrack(const Track< Interpolator< Vector3 > > &Curve, const Whole NumPoints)
Appends the contents of a 3D track to this shape.
bool Boole
Generally acts a single bit, true or false.
std::vector< Vector3 > Point3DContainer
Basic container type for the storage of 3D points.
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.
Point3DContainer::iterator Point3DIterator
Iterator type for a Point3DContainer.
float Real
A Datatype used to represent a real floating point number.
Point3DContainer Points
A container storing all of the points in this path.
Boole Closed
Whether or not the end of this path connects to the beginning of this path.
std::vector< Path > PathContainer
Basic container type for the storage of Paths.
This is used to represent a point in space, or a vector through space.
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.
std::vector< LineSegment3D > LineSeg3DVec
Basic container type for the storage of 3D line segments.
A collection of interconnected 2D points used to express an arbitrary 2D shape.
Helper classes to assist in generating data points between two other data points. ...
A collection of interconnected 3D points used to express path through 3D space.
std::string String
A datatype used to a series of characters.
A base type that provides container features for different tracks.