67 #ifndef _graphicsproceduralshape_h
68 #define _graphicsproceduralshape_h
70 #include "Graphics/Procedural/proceduraldatatypes.h"
71 #include "Graphics/Procedural/proceduralenumerations.h"
73 #include "linesegment.h"
90 struct IntersectionInShape;
148 void _FindAllIntersections(
const Shape& Other, IntersectionContainer& Intersections)
const;
182 template<
template<
class>
class Interpolator >
186 for(
Whole CurrPoint = 0 ; CurrPoint < NumPoints ; ++CurrPoint )
188 Real InterpolateVal =
static_cast<Real>( CurrPoint ) / static_cast<Real>( NumPoints - 1 );
189 Vector2 CurvePoint = Curve.GetInterpolated(InterpolateVal);
190 this->AddPoint(CurvePoint);
196 Whole GetSegCount()
const;
199 Real GetTotalLength()
const;
206 Real FindBoundingRadius()
const;
251 Boole IsClosed()
const;
299 Whole GetPointCount()
const;
401 Boole IsOutsideRealOutside()
const;
408 Path ConvertToPath()
const;
444 void _AppendToManualObject(Ogre::ManualObject* Object)
const;
std::vector< IntersectionInShape > IntersectionContainer
Basic container type for the storage of Intersections in this class.
bool Boole
Generally acts a single bit, true or false.
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.
IntersectionContainer::iterator IntersectionIterator
Iterator type for Intersections stored in this class.
uint8_t UInt8
An 8-bit unsigned integer.
Boole Closed
Whether or not the first point and last point should be connected, closing the shape.
float Real
A Datatype used to represent a real floating point number.
char Char8
A datatype to represent one character.
Procedural::ShapeSide OutSide
Sets which extreme side of this shape is to be considered the outside of the shape. Useful when a shape is not closed.
ShapeSide
An enum used to express which side to work with in Shape operations.
std::vector< Vector2 > Point2DContainer
Basic container type for the storage of 2D points.
This is used to represent a point on a 2 dimentional area, such as a screen.
Convenience class storing data on the point in a 2D shape where multiple segments intersect...
BooleanOperation
An enum used to describe which boolean operation to take when processing two triangle buffers...
IntersectionContainer::const_iterator ConstIntersectionIterator
Const Iterator type for Intersections stored in this class.
The bulk of the engine components go in this namspace.
Point2DContainer Points
Container storing all of the points that form this shape.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
void AppendTrack(const Track< Interpolator< Vector2 > > &Curve, const Whole NumPoints)
Appends the contents of a 2D track to this shape.
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::string String
A datatype used to a series of characters.
A base type that provides container features for different tracks.