40 #ifndef _physicsspherecollisionshape_cpp
41 #define _physicsspherecollisionshape_cpp
43 #include "Physics/spherecollisionshape.h"
44 #include "collisionshapemanager.h"
45 #include "stringtool.h"
47 #include "btBulletDynamicsCommon.h"
103 {
return static_cast<btSphereShape*
>(
ShapeBase); }
139 {
return String(
"SphereCollisionShape"); }
virtual void ProtoDeSerialize(const XML::Node &OneNode)
std::ostream & operator<<(std::ostream &stream, const Mezzanine::LinearInterpolator< T > &Lint)
Used to Serialize an Mezzanine::LinearInterpolator to a human readable stream.
SphereCollisionShape(const String &Name, const Real &Radius)
Class Constructor.
virtual Real GetRadius() const
Gets the radius of the sphere.
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 ProtoDeSerialize(const XML::Node &OneNode)
#define MEZZ_EXCEPTION(num, desc)
An easy way to throw exceptions with rich information.
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
float Real
A Datatype used to represent a real floating point number.
bool SetValue(const Char8 *rhs)
Set the value of this.
Indicates the class is a SphereCollisionShape.
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. ...
virtual CollisionShape::ShapeType GetType() const
Gets the type of Collision shape this is.
ShapeType
This enum describes what kind of shape you are currently working with.
virtual ~SphereCollisionShape()
Class Destructor.
std::istream & DeSerialize(std::istream &Stream, T &Converted)
Deserialize the next xml tag in the stream into a specific in memory class instance.
void DeSerializeError(const String &FailedTo, const String &ClassName, Boole SOrD)
Simply does some string concatenation, then throws an Exception.
Thrown when parameters are checked at runtime and found invalid.
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 btSphereShape * GetSphereShape() const
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.
virtual void ProtoSerialize(XML::Node &CurrentRoot) const
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.
static String GetSerializableName()
Get the name of the the XML tag this class will leave behind as its instances are serialized...
Node GetChild(const Char8 *Name) const
Attempt to get a child Node with a given name.