40 #ifndef _physicsprimitivecollisionshape_cpp
41 #define _physicsprimitivecollisionshape_cpp
43 #include "Physics/primitivecollisionshape.h"
44 #include "collisionshapemanager.h"
45 #include "stringtool.h"
47 #include "btBulletDynamicsCommon.h"
68 {
return static_cast<btConvexInternalShape*
>(
ShapeBase); }
113 {
return String(
"PrimitiveCollisionShape"); }
std::ostream & operator<<(std::ostream &stream, const Mezzanine::LinearInterpolator< T > &Lint)
Used to Serialize an Mezzanine::LinearInterpolator to a human readable stream.
Attribute AppendAttribute(const Char8 *Name)
Creates an Attribute and puts it at the end of this Nodes attributes.
A light-weight handle for manipulating attributes in DOM tree.
virtual void ProtoSerialize(XML::Node &CurrentRoot) const
Convert this class to an XML::Node ready for serialization.
virtual void ProtoDeSerialize(const XML::Node &OneNode)
Node GetFirstChild() const
Get the first child Node of this Node.
std::ostream & Serialize(std::ostream &Stream, const T &Converted, const String &Indent=String(""))
Convert any class that supports serialization or has a serializer to a string of chars in a stream...
static String GetSerializableName()
Get the name of the the XML tag this class will leave behind as its instances are serialized...
virtual void ProtoSerialize(XML::Node &CurrentRoot) const
bool SetValue(const Char8 *rhs)
Set the value of this.
A light-weight handle for manipulating nodes in DOM tree.
int AsInt(int def=0) const
Attempts to convert the value of the attribute to an int and returns the results. ...
PrimitiveCollisionShape()
Class Constructor.
This is the base class for all Primitive shapes.
std::istream & DeSerialize(std::istream &Stream, T &Converted)
Deserialize the next xml tag in the stream into a specific in memory class instance.
virtual void ProtoDeSerialize(const XML::Node &OneNode)
Take the data stored in an XML and overwrite this instance of this object with it.
void DeSerializeError(const String &FailedTo, const String &ClassName, Boole SOrD)
Simply does some string concatenation, then throws an Exception.
This is used to represent a point in space, or a vector through space.
void SetPointers(btConvexInternalShape *Shape)
Sets the internal pointers on the base classes.
virtual btConvexInternalShape * GetBulletConvexShape() const
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.
virtual ~PrimitiveCollisionShape()
Class Destructor.
const Char8 * Name() const
ptrdiff_tGet the name of this Node.
void SerializeError(const String &FailedTo, const String &ClassName, Boole SOrD)
Simply does some string concatenation, then throws an Exception.
Node AppendChild(NodeType Type=NodeElement)
Creates a Node and makes it a child of this one.
std::string String
A datatype used to a series of characters.
Attribute GetAttribute(const Char8 *Name) const
Attempt to get an Attribute on this Node with a given name.
void ProtoSerialize(XML::Node &CurrentRoot) const
Convert this class to an XML::Node ready for serialization.
Node GetChild(const Char8 *Name) const
Attempt to get a child Node with a given name.