40 #ifndef _collisionshape_h
41 #define _collisionshape_h
49 class btCollisionShape;
55 class CollisionShapeManager;
81 ST_DynamicTriMesh = 8,
103 virtual const String& GetName()
const;
113 virtual void SetMargin(
const Real& Margin);
116 virtual Real GetMargin()
const;
119 virtual void SetScaling(
const Vector3& Scaling);
122 virtual Vector3 GetScaling()
const;
129 virtual void ProtoSerialize(
XML::Node& CurrentRoot)
const;
133 virtual void ProtoDeSerialize(
const XML::Node& OneNode);
136 static String GetSerializableName();
145 virtual void _SetShapeName(
const String& NewName);
149 virtual btCollisionShape* _GetInternalShape()
const;
194 virtual CollisionShape* PerformDeSerialization(std::istream& Stream);
207 virtual std::istream&
DeSerialize(std::istream& Stream);
212 virtual CollisionShape* DeSerializeAndRetrieve(std::istream& Stream);
215 virtual String ContainerName()
const;
std::ostream & operator<<(std::ostream &stream, const Mezzanine::LinearInterpolator< T > &Lint)
Used to Serialize an Mezzanine::LinearInterpolator to a human readable stream.
This is the base class for all collision shapes.
CollisionShape * CreateShape(CollisionShape::ShapeType ShapeToCreate, const String &Name_, btCollisionShape *ShapeToModel)
Create A shape of a type and optionally model it after an example.
All the definitions for datatypes as well as some basic conversion functions are defined here...
String ShapeTypeToString(CollisionShape::ShapeType ShapeToConvert)
Get a string suitable for human eyes from a CollisionShape::ShapeType, may not be suitable for enduse...
float Real
A Datatype used to represent a real floating point number.
The interface for serialization.
A light-weight handle for manipulating nodes in DOM tree.
ShapeType
This enum describes what kind of shape you are currently working with.
std::istream & DeSerialize(std::istream &Stream, T &Converted)
Deserialize the next xml tag in the stream into a specific in memory class instance.
A tool for deserializing classes with specific issues deserializing them.
This is used to represent a point in space, or a vector through space.
A tool to aid in deserialization for the specific instances that DeSerialization CollisionShapes othe...
String Name
Storage for the name of this class instance.
The bulk of the engine components go in this namspace.
std::istream & operator>>(std::istream &stream, Mezzanine::LinearInterpolator< T > &Lint)
Used to de-serialize an Mezzanine::LinearInterpolator from a stream.
btCollisionShape * ShapeBase
A pointer to the bullet collision this uses.
CollisionShape::ShapeType StringToShapeType(const String &TypeName)
Convert a human readable string (as provided by ShapeTypeToString()) and convert it to a CollisionSha...
CollisionShape::ShapeType InternalShapeTypeToShapeType(int InternalShapeType)
Convert from a Internal Collision Shape to a CollisionShape::ShapeType.
std::string String
A datatype used to a series of characters.