MezzanineEngine March 18, 2012
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

Mezzanine Namespace Reference

The bulk of the engine components go in this namspace. More...

Namespaces

namespace  Audio
 

This namespace is for all the classes belonging to the Audio Subsystem.


namespace  crossplatform
 

All functionality that needs different implemenations per platform will go in here.


namespace  debug
 

This namespace is for internal debugging tools. In general it shouldn't be used in game code.


namespace  internal
 

This namespace is used for internal helper classes, and in general it should be ignored by game developers.


namespace  Scripting
 

This namespace is for all the classes belonging to the Scripting Subsystem.


namespace  UI
 

This namespace is for all the classes belonging to the Graphical User Interface Subsystem.


namespace  xml
 

This is where bulk of the XML subsystem resides, (See Mezzanine::xml Manual for details) there are numerous class that are all tighlty integrated so one file seemed appropriate.


Classes

class  ActorBase
 This is the base class from which all the actors inherit. More...
class  ActorBasePhysicsSettings
 This is a base helper class for configuring physics settings of an actor. More...
class  ActorContainerBase
 A base class to unify the interface for different kinds of containers for holding actors. More...
class  ActorContainerVector
 A simple Actor Container using a vector. More...
class  ActorManager
 A manager responsible for the storage and management of all actors in use. More...
class  ActorRigid
 This is the actor class for Rigid Objects. More...
class  ActorRigidDeSerializer
 This creates Rigid body actors and inserts them into a given ActorManager. More...
class  ActorRigidPhysicsSettings
 This is a helper class for configuring physics settings of an ActorRigid. More...
class  ActorSoft
 This is the actor class for Soft Objects. More...
class  ActorSoftCollisionShape
 A collision shape for soft actors. More...
class  ActorSoftPhysicsSettings
 This is a helper class for configuring physics settings of an ActorSoft. More...
class  AreaEffect
 This class is used to define area's in the world that have unique effects. More...
class  AttachableBase
 This class is the base class for other attachable classes and is responsible for transform updates to attachables. More...
class  AttachableChild
 This class is the base class for objects that can be attached to AttachableParent. More...
class  AttachableParent
 Base class for objects that can have attachables attached to them. More...
class  AudioManager
 This is simply a place for storing all the Sound utilities and functions. More...
class  BoxCollisionShape
 A box physics shape. More...
class  Camera
 This is the camera class. More...
class  CameraController
 This is a simplified controller class for use with cameras. More...
class  CameraManager
 This is the manager class for all camera functions. More...
class  CapsuleCollisionShape
 A capsule physics shape. More...
class  Collision
 This is an event class used to track collsions in the physics world. More...
class  CollisionDispatcher
 Used to provide better reporting of collisions. More...
struct  CollisionInternalData
 Used to insulate the interface from the implementation details for bullet. More...
class  CollisionShape
 This is the base class for all collision shapes. More...
class  CollisionShapeDeSerializer
 A tool to aid in deserialization for the specific instances that DeSerialization CollisionShapes other ways does not make sense. More...
class  CollisionShapeManager
 This manager is for the storage of all shapes and creation of mesh shapes. More...
class  ColourValue
 This is a simple class for holding 4 reals representing the colour any give object or lightsource can have. More...
class  CompoundCollisionShape
 A collision shape composed of many other collision shapes placed and oriented in local space. More...
class  ConeCollisionShape
 A cone physics shape. More...
class  ConeTwistConstraint
class  ConvexHullCollisionShape
 A simple convex shape built from a low number of points in local space. More...
class  CylinderCollisionShape
 A cylinder physics shape. More...
class  DeSerializer
 A tool for deserializing classes with specific issues deserializing them. More...
class  DualTransformConstraint
 All constraints that track rotation and location of the Pivot relative to each Actor inherit from this. More...
class  DynamicMeshCollisionShape
 A triangle mesh collsion shape based on a graphics mesh. More...
class  Entity
 This class is useful for representing graphical bodies without a physics representation. More...
class  EventBase
 The base class for all events. More...
class  EventCollision
 This is an event class used to track collsions in the physics world. More...
class  EventGameWindow
 Convey the message that Something happened to a game window. More...
class  EventGameWindowData
 used to keep private in one place that is actually private. More...
class  EventManager
 This is a container for Events and facilitates the transfer of data. More...
class  EventQuit
 This is intended to convey the message that quitting needs to happen. More...
class  EventRenderTime
 This communicates the amount of time since the world was rendered. More...
class  EventUserInput
 This is a container for MetaCodes that is used in the EventManager. More...
class  Exception
 This is the exception thrown by most Mezzanine system that can throw exceptions. More...
class  ExtendedTimer
 An enhanced timer class that can store and track many units of time. More...
class  FieldCollisionShape
 This is the base class for all Field shapes. More...
class  FieldOfForce
 This is field that applies force in a direction, and doesn't tamper with gravity. More...
class  GameWindow
 This class is for creating and managing game windows. More...
class  Generic6DofConstraint
 Create simple but specific limits on any axis of movement or rotation. More...
class  Generic6DofSpringConstraint
 Creates a constraint as configurable as the 6Dof constraint, but has added support for spring motion. More...
class  GraphicsManager
 This is intended to store basic graphics setting for the user. More...
class  GraphicsSettings
 This stores all the possible configuration options the graphics manager supports. More...
class  GravityField
 This is a gravity field implementation of the AreaEffect class. More...
class  GravityWell
 This is a gravity well implementation of the AreaEffect class. More...
class  HeightfieldCollisionShape
 A series of values that store hieght in a grid like fashion. More...
class  Hinge2Constraint
class  HingeConstraint
 This is a constraint to be used to restrict the movement between two objects to angular rotation on a single axis. More...
class  InputQueryTool
 This provides a number of utilities for getting input information. More...
class  InternalMeshData
 This class is used to store the internal structures needed by the Mesh class. More...
class  Light
 This class is the class used for dynamic lighting within the scene. More...
class  LineGroup
 This is a group of consectutive line segments to be rendered together. More...
class  ManagerBase
 This is the base class from which all the World Managers inherit. More...
class  MathTool
 This provides a number of generic math related utilities. More...
class  Matrix3x3
 This is a 3x3 Matrix class used for representing rotations and scaling in an object. More...
class  Matrix4x4
class  Mesh
 This class is used to check and modify the properties of a graphics mesh. More...
class  MeshCollisionShape
 This is the base class for all Mesh shapes. More...
class  MeshManager
 This manager handles the storage, generation, and query of of Graphics Meshes. More...
class  MeshTerrain
class  MetaCode
 This Determines the kind of user input. More...
class  MultiSphereCollisionShape
 A physics shape comprised of multiple sphere's placed in local space. More...
class  NonStaticWorldObject
 This is a small extention of the WorldObject class that adds features common to non-static objects. More...
class  NonTriggerPhysicsSettings
 This is an extension of the basic WorldObjectPhysicsSettings class for non-trigger objects(I.E not AreaEffects). More...
class  ObjectPair
 This is an interface class for pairs of world objects. More...
class  ObjectReference
 This is a small class used to store a reference to a world object. More...
class  ParticleAffector
 This class defines how particles of a given particle effect behave during their lifetime. More...
class  ParticleEffect
 This class is responsible for creating visual particle effects, such as rain, smoke, sparks, and explosions. More...
class  ParticleEmitter
 This class defines how particles of a given particle effect spawn. More...
class  PhysicsConstructionInfo
class  PhysicsManager
 This is simply a place for storing all the Physics Related functions. More...
class  Plane
 This is used to represent a flat infinite slice of the game world. More...
class  PlaneCollisionShape
 A Flat wall/floor of limitless size. More...
class  Point2PointConstraint
 Tries to make a point relative to each of two actors match in 3d space, without regard to rotation. More...
class  PrimitiveCollisionShape
 This is the base class for all Primitive shapes. More...
class  Quaternion
 This is used to store information about rotation in 3d space. More...
class  Ray
 This is used to indicate a line with one end. More...
class  RayQueryTool
 This provides a number of optional tools for working with a Mezzanine::World. More...
class  ResourceInputStream
 A stream from a file, can read from zip files as well. More...
class  ResourceManager
 This is the manager responsible for the loading and unloading of files. More...
class  SceneManager
 This class contains utilities and functions to allow the manipulation of the Graphical scene, rather then the physics inside, or the object inside. More...
class  ScriptingManager
 What a scripting manager should look like. More...
class  Serializer
 A tool for serializing classes with specific issues serializing. More...
class  SimpleTimer
 A basic timer class that can be used to track short intervals of time. More...
class  Singleton
 This is a convenient base class intended to be used with classes that need to be singletons. More...
class  SliderConstraint
class  SphereCollisionShape
 A sphere physics shape. More...
class  StaticMeshCollisionShape
 A triangle mesh collsion shape based on a graphics mesh. More...
struct  StickyConstraintConstructionInfo
 Simple struct for holding information on how sticky constraints should be constructed. More...
struct  StickyData
 This is a basic class for storing the data related to the sticky behavior available to actorrigid's. More...
class  StringTool
 This is a utility to help perform all kinds of string related tasks. More...
class  TerrainBase
 This is the base class from which all the terrains inherit. More...
class  TerrainManager
 This is manager for terrains and their functions. More...
class  TestAE
 This is a dummy class to test if the AE field works. Details will be output to the log. More...
struct  Time
 A container for the metrics of time relevant for the timer class. More...
class  Timer
 A base timer class for the different timers. More...
class  TimerCallback
 A callback class for use automated and timed-event based timers. More...
class  TimerManager
 A manager responsible for the updating of all timers in use by this engine. More...
class  Transform
 Stores information about relative location and rotation in 3d space. More...
class  TypedConstraint
 This is the base class for all constraints supported. More...
class  UIManager
 This class is responsible for any and all user interactions with the User interface/HUD. More...
class  UniversalJointConstraint
class  Vector2
 This is used to represent a point on a 2 dimentional area, such as a screen. More...
class  Vector3
 This is used to represent a point in space, or a vector through space. More...
class  Vector3WActor
 This class is used to store or transfer a position relative to an Actor. More...
class  Viewport
 This class is for creating and managing viewports within a game window. More...
class  World
 This is the main entry point for the entire library. More...
class  WorldGetSet
 A simple set of function to manage a pointer to the gameworld. More...
class  WorldNode
 This is a helper class which non-physics objects, such as lights, cameras, ribbon trails, and particle effects may be attached to for enhanced effects. More...
class  WorldObject
 This is the base class from which classes that are insertable into the physical world. More...
class  WorldObjectGraphicsSettings
 This is a helper class for configuring graphics settings of a World Object. More...
class  WorldObjectPhysicsSettings
 This is a base helper class for configuring physics settings of a world object. More...
class  WorldTrigger
 This is an abstract class for creating in-game triggers. More...

Typedefs

typedef std::list
< btCollisionAlgorithm * > 
AlgoList
typedef char Character
 A datatype to represent one character.
typedef const String ConstString
 A Datatype used to a series of imutable characters.
typedef signed short Int16
 An 16-bit integer.
typedef signed long Int32
 An 32-bit integer.
typedef signed long long Int64
 An 64-bit integer.
typedef signed char Int8
 An 8-bit integer.
typedef int Integer
 A datatype use to represent any integer close to.
typedef SDL_Event RawEvent
 This is an internal datatype use to communicate with the User input Subsystem.
typedef float Real
 A Datatype used to represent a real floating point number.
typedef Generic6DofConstraint StickyConstraint
typedef std::string String
 A Datatype used to a series of characters.
typedef unsigned short UInt16
 An 16-bit unsigned integer.
typedef unsigned long UInt32
 An 32-bit unsigned integer.
typedef unsigned long long UInt64
 An 64-bit unsigned integer.
typedef unsigned char UInt8
 An 8-bit unsigned integer.
typedef unsigned long Whole
 A Datatype used to represent an postive integer numbers.
typedef std::wstring WideString
 A wide version of the String typedef.

Enumerations

enum  AspectRatio {
  AR_3_By_2, AR_4_By_3, AR_5_By_3, AR_5_By_4,
  AR_8_By_5, AR_16_By_9, AR_17_By_9, AR_1_85_By_1,
  AR_2_39_By_1
}
 

This is used primarily by the GraphicsManager to keep track of the supported and currently used aspect ratios.

More...
enum  AttenuationStyle { Att_None, Att_Linear, Att_Quadratic }
 

These values represent the kind of attenuation applied to the field strength over a distance.

More...
enum  CollisionFilter {
  CF_GenericFilter = 1, CF_StaticFilter = 2, CF_KinematicFilter = 4, CF_DebrisFilter = 8,
  CF_SensorFilter = 16, CF_CharacterFilter = 32, CF_AllFilter = -1, CF_UserFilter1 = 64,
  CF_UserFilter2 = 128
}
 

These are the various filters that can be applied to all physics accelerated world objects to limit what they collide with.

More...
enum  ConstraintParam { Con_ERP = 1, Con_Stop_ERP = 2, Con_CFM = 3, Con_Stop_CFM = 4 }
 

Used by constraints for setting some parameters.

More...
enum  OrientationMode {
  OM_Degree_0 = 0, OM_Degree_90 = 1, OM_Degree_180 = 2, OM_Degree_270 = 3,
  OM_Portrait = OM_Degree_0, OM_LandscapeRight = OM_Degree_90, OM_LandscapeLeft = OM_Degree_270
}
 

Simple enum for communicating the orientation the UI and Camera have relative to the world it is rendering.

More...
enum  RenderSystem {
  RS_DirectX9 = 0, RS_DirectX10 = 1, RS_DirectX11 = 2, RS_OpenGL2 = 3,
  RS_OpenGL3 = 4, RS_OpenGL4 = 5, RS_OpenGLES1 = 6, RS_OpenGLES2 = 7
}
 

Used primarily by the graphics manager class during initialization.

More...
enum  StandardAxis { Axis_X = 0, Axis_Y = 1, Axis_Z = 2 }
 

Used to identify different Axis in a 3d coordinate system.

More...
enum  TransformSpace { TS_Local = 0, TS_Parent = 1, TS_World = 2 }
 

Used to define what frame of reference is to be used when positioning or rotating objects.

More...
enum  WorldAndSceneObjectType {
  WSO_ActorFirst = 1, WSO_ActorRigid = 1, WSO_ActorSoft = 2, WSO_ActorCharacter = 4,
  WSO_ActorUnknown = 8, WSO_ActorLast = 8, WSO_TerrainFirst = 16, WSO_MeshTerrain = 16,
  WSO_UnimplementedTerrain1 = 32, WSO_UnimplementedTerrain2 = 64, WSO_UnimplementedTerrain3 = 128, WSO_UnimplementedTerrain4 = 256,
  WSO_UnknownTerrain = 512, WSO_TerrainLast = 512, WSO_AEFirst = 1024, WSO_AEGravityField = 1024,
  WSO_AEGravityWell = 2048, WSO_AEFieldOfForce = 4096, WSO_AEPlaceHolder1 = 8192, WSO_AEPlaceHolder2 = 16384,
  WSO_AEUnknown = 32768, WSO_AELast = 32768, WSO_Camera = 65536, WSO_Entity = 131072,
  WSO_Light = 262144, WSO_ParticleEffect = 524288, WSO_WorldNode = 1048576
}
 

Used by various classes to help identify what class an object is.

More...
enum  WorldObjectActivationState {
  WOAS_Active = 1, WOAS_Island_Sleeping = 2, WOAS_Wants_Deactivation = 3, WOAS_DisableDeactivation = 4,
  WOAS_DisableSimulation = 5
}
 

This is used by all the world objects to monitor and set their physics activation.


Functions

CollisionShape::ShapeType BulletSapeTypeToShapeType (int BulletShapeType)
 Convert from a Bullet Collision Shape to a CollisionShape::ShapeType.
String ConstraintParamAsString (ConstraintParam Param)
 Get a Constraint Parameter as a String.
CollisionShapeCreateShape (xml::Node OneNode)
 Create a CollisionShape from a snippet of xml.
CollisionShapeCreateShape (CollisionShape::ShapeType ShapeToCreate, const String &Name_, btCollisionShape *ShapeToModel)
 Create A shape of a type and optionally model it after an example.
template<class T >
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, bool SOrD=false)
 Simply does some string concatenation, then throws an Exception.
void PrintHello ()
template<class T >
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.
void SerializeError (const String &FailedTo, const String &ClassName, bool SOrD=true)
 Simply does some string concatenation, then throws an Exception.
String ShapeTypeToString (CollisionShape::ShapeType ShapeToConvert)
 Get a string suitable for human eyes from a CollisionShape::ShapeType, may not be suitable for endusers.
template<class T >
void SloppyProtoSerialize (const T &Converted, xml::Node &CurrentRoot)
 Used to interface with a previous version of the serialization code.
ConstraintParam StringAsConstraintParam (String Param)
 Convert A string that might be ConstraintParam to one.
CollisionShape::ShapeType StringToShapeType (const String &TypeName)
 Convert a human readable string (as provided by ShapeTypeToString()) and convert it to a CollisionShape::ShapeType.
template<class T >
double Todouble (const T &Datum)
 Converts whatever to a double as long as the proper streaming operators are available for it.
template<class T >
float Tofloat (const T &Datum)
 Converts whatever to a float as long as the proper streaming operators are available for it.
template<class T >
int Toint (const T &Datum)
 Converts whatever to an int as long as the proper streaming operators are available for it.
template<class T >
Integer ToInteger (const T &Datum)
 Converts whatever to an Integer as long as the proper streaming operators are available for it.
template<class T >
Real ToReal (const T &Datum)
 Converts whatever to a Real as long as the proper streaming operators are available for it.
template<class T >
String ToString (const T &Datum)
 Converts whatever to a String as long as a streaming operator is available for it.
template<class T >
unsigned int Tounsignedint (const T &Datum)
 Converts whatever to an unsigned int as long as the proper streaming operators are available for it.
template<class T >
Whole ToWhole (const T &Datum)
 Converts whatever to a Whole as long as the proper streaming operators are available for it.

Variables

const int ConstraintParamCount = 4
 How many ConstraintParam Exist.

Detailed Description

The bulk of the engine components go in this namspace.

This is where imporant classes like World, GraphicsManager, and The eventmanager reside. For more detailed usage information please refer to individual class documentation or the Mezzanine main page.


Typedef Documentation

A datatype to represent one character.

This should be a char if String is an std::string. The XML parser expects this to be either char or wchar_t and has not be test with external types. The XML Parser expects XML_WCHAR_MODE to be defined if wchar_t is used. A remarked definition of this exists near the Character typedef in datatypes.h

Definition at line 153 of file datatypes.h.

A Datatype used to a series of imutable characters.

This is a typedef to const String, but could change.

Definition at line 146 of file datatypes.h.

An 8-bit integer.

Todo:
Verify that these "fixed-width" type-defs work on mobiles and tablets.

Definition at line 79 of file datatypes.h.

A datatype use to represent any integer close to.

This is a typedef to int, but could int16 or smaller to improve performance in some situtations handheld platforms

Definition at line 130 of file datatypes.h.

This is an internal datatype use to communicate with the User input Subsystem.

This is a typedef to SDL_Event. See the SDL Documentation for more details

Definition at line 160 of file datatypes.h.

A Datatype used to represent a real floating point number.

This Datatype is currently a typedef to a float, This is to match our compilations of Ogre (rendering subsystem ogre::Real), and Bullet (physics subsystem, btScalar). With a recompilation of all the subsystems and this there is no theoretical reason why this could not be changed to a double, or even something more extreme like a GMP datatype. Most likely this switch would require atleast some troubleshooting.

Definition at line 119 of file datatypes.h.

A Datatype used to a series of characters.

This is a typedef to std::string, but could change particularly if UTF16 or UTF32 support is desired. If this is changed, The Character typedef should be adjusted accordingly.

Definition at line 136 of file datatypes.h.

A Datatype used to represent an postive integer numbers.

This is a typedef to unsigned Long. but could be smaller in some situations

Definition at line 124 of file datatypes.h.

A wide version of the String typedef.

Wide strings are seldom used, but often come in handy when dealing with Unicode strings.

Definition at line 141 of file datatypes.h.


Enumeration Type Documentation

This is used primarily by the GraphicsManager to keep track of the supported and currently used aspect ratios.

Enumerator:
AR_3_By_2 

1.5

AR_4_By_3 

1.334

AR_5_By_3 

1.667

AR_5_By_4 

1.25

AR_8_By_5 

1.6

AR_16_By_9 

1.778

AR_17_By_9 

1.889

AR_1_85_By_1 

1.85

AR_2_39_By_1 

2.39

Definition at line 51 of file enumerations.h.

These values represent the kind of attenuation applied to the field strength over a distance.

None is the default, where the force is constant in all area's of the field. Linear is where the force applied drops by the attenuation value times the distance (strength - (attenuation amount * distance to AE center)). Quadratic is where the force applied drops by the attenuation value times the distance squared (strength - (attenuation amount * distance to AE center * distance to AE center)).

Enumerator:
Att_None 

No Attentuation, Equal strength through.

Att_Linear 

Linear attentuation, Strength weaker farther from center.

Att_Quadratic 

Quadratic/Exponential Attentuation, similar to real gravity, it tapers of more the further from the center you get.

Definition at line 72 of file enumerations.h.

These are the various filters that can be applied to all physics accelerated world objects to limit what they collide with.

You can create your own groups on top of the ones that exist here, but they have to be powers of 2, and not overlap with any of the existing groups defined here. Simply pass in the Whole where appropriate.

Definition at line 83 of file enumerations.h.

Used by constraints for setting some parameters.

See the constraint class documentation for more details.

Enumerator:
Con_ERP 

ERP values adjust how fast the errors in the constraints are reduced.

Con_CFM 

CFM values adds some small value to the main diagonal on the constraint matrix to prevent degenerate matrices.

Definition at line 70 of file constraint.h.

Simple enum for communicating the orientation the UI and Camera have relative to the world it is rendering.

This enum is used by the UI and graphics sub-systems for when a change in orientation is detected. Under normal circumstances this kind of thing should only occur in mobile devices such as SmartPhones and Tablets. However this can be forced on other devices/platforms.

Definition at line 103 of file enumerations.h.

Used primarily by the graphics manager class during initialization.

This enum specifies which Rendersystem is to be used for rendering.

Definition at line 118 of file enumerations.h.

Used to identify different Axis in a 3d coordinate system.

Note:
These are compatible with the linear Axis on many constraints, but not the rotational axis.
Enumerator:
Axis_X 

X axis.

Axis_Y 

Y axis.

Axis_Z 

Z axis.

Definition at line 133 of file enumerations.h.

Used to define what frame of reference is to be used when positioning or rotating objects.

Enumerator:
TS_Local 

Local space, aka the object in questions world position is used as origin.

TS_Parent 

Mostly reserved for rotations, means a rotation to occur around the parent instead of self.

TS_World 

World space.

Definition at line 142 of file enumerations.h.

Used by various classes to help identify what class an object is.

This enum can be used to express any object which could be considered "insertable" into the game world.

Definition at line 163 of file enumerations.h.


Function Documentation

CollisionShape::ShapeType MEZZ_LIB Mezzanine::BulletSapeTypeToShapeType ( int  BulletShapeType)

Convert from a Bullet Collision Shape to a CollisionShape::ShapeType.

Parameters:
BulletShapeTypeThe ShapeType to Convert
Returns:
The corresponding CollisionShape::ShapeType to the passed in bullet Shape Type if asuitable match exists
Exceptions:
TheMezzanine engine only uses a subset of Bullets shapes, a Mezzanine::Exception with be thrown in the event an unsupported one is passed in.

Definition at line 1682 of file collisionshape.cpp.

String Mezzanine::ConstraintParamAsString ( ConstraintParam  Param)

Get a Constraint Parameter as a String.

Parameters:
ParamThe Parameter to get as a String.
Returns:
A String That contains the name of a ConstraintParam.
CollisionShape *MEZZ_LIB Mezzanine::CreateShape ( xml::Node  OneNode)

Create a CollisionShape from a snippet of xml.

Parameters:
OneNodeA Node for any Collision Shape that can be instanstiated
Returns:
A pointer to a CollisionShape of the Correct Type with the values stored in the XML.

Todo:
Complete CreateShape function once DynamicMeshCollisionShape can be deserialized
Todo:
Complete CreateShape function once ActorSoftCollisionShape can be deserialized
Todo:
Complete CreateShape function once StaticMeshCollisionShape can be deserialized

Definition at line 1640 of file collisionshape.cpp.

CollisionShape *MEZZ_LIB Mezzanine::CreateShape ( CollisionShape::ShapeType  ShapeToCreate,
const String &  Name_,
btCollisionShape *  ShapeToModel 
)

Create A shape of a type and optionally model it after an example.

Parameters:
ShapeToCreateThe Type of Shape to create.
Namethe name of the new shape.
ShapeToModelAn optional pointer to a bullet shape to include instead of creating one.
Returns:
A new Mezzanine::CollisionShape with either default Values or the values of the bullet shape if one is provided.
Warning:
The only checking done on the bullet shape is to verify it is not a null pointer. If the Bullet shape fails to be of the appropriate kind correlating to ShapeToCreate then *undefined behavior* will occur.

Definition at line 1600 of file collisionshape.cpp.

template<class T >
std::istream& Mezzanine::DeSerialize ( std::istream &  Stream,
T &  Converted 
)

Deserialize the next xml tag in the stream into a specific in memory class instance.

"void ProtoDeSerialize(const xml::Node&)" and "static String SerializableName() const" must be implemented on the class instance that is passed in for this to work

Parameters:
StreamThe istream to extract the required data from
ConvertedThe Class member that is deserialized.
Returns:
This returns the istream that provided the serialized data.

Definition at line 449 of file serialization.h.

void Mezzanine::DeSerializeError ( const String &  FailedTo,
const String &  ClassName,
bool  SOrD = false 
)

Simply does some string concatenation, then throws an Exception.

Parameters:
FailedToWhat failed to happed for example "create testnode" or "acquire a mutex"
ClassNameThe name of the class throw the exception
SOrDDefaults to false, and if true uses the word "Serialization", otherwise uses the word "DeSerialization"
Exceptions:
AMezzanine::Exception with the message "Could not {FailedTo} during {ClassName} [De]Serialization."

This just calls SerializeError() with the third parameter false. This exists solely to make code A little more readable.

Definition at line 51 of file serialization.cpp.

template<class T >
std::ostream& Mezzanine::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.

Any Class will work with this template as long as it implements the method "xml::Node ProtoSerialize(xml::Document&) const"

Parameters:
StreamThe ostream to put the serializable into.
ConvertedThe item to be serialized, which must have a "xml::Node ProtoSerialize(xml::Node& CurrentRoot) const" method.
IndentDefaults to nothing but can be set to "\t" to get normal
Returns:
A the stream that was passed and now contains the serialized object.

Definition at line 433 of file serialization.h.

void Mezzanine::SerializeError ( const String &  FailedTo,
const String &  ClassName,
bool  SOrD = true 
)

Simply does some string concatenation, then throws an Exception.

Parameters:
FailedToWhat failed to happed for example "create testnode" or "acquire a mutex"
ClassNameThe name of the class throw the exception
SOrDDefaults to true, and if true uses the word "Serialization", otherwise uses the word "DeSerialization"
Exceptions:
AMezzanine::Exception with the message "Could not {FailedTo} during {ClassName} [De]Serialization.""Could not {FailedTo} during {ClassName} [De]Serialization."

Definition at line 48 of file serialization.cpp.

String MEZZ_LIB Mezzanine::ShapeTypeToString ( CollisionShape::ShapeType  ShapeToConvert)

Get a string suitable for human eyes from a CollisionShape::ShapeType, may not be suitable for endusers.

Parameters:
ShapeToConvertThe kind of shape you want a string for.
Returns:
A String with human readable contents corresponding to the passed in type.

Definition at line 1704 of file collisionshape.cpp.

template<class T >
void Mezzanine::SloppyProtoSerialize ( const T &  Converted,
xml::Node &  CurrentRoot 
)

Used to interface with a previous version of the serialization code.

The older serialization was implemented entirely in streaming operators. This uses those, however inneficient to get the xml::Node that the current serialization solution is centered around.

Parameters:
ConvertedThe class implementing older serialization code.
CurrentRootThe place in the xml hiearchy to append the items to be sloppily ProtoSerialized.

Definition at line 466 of file serialization.h.

ConstraintParam Mezzanine::StringAsConstraintParam ( String  Param)

Convert A string that might be ConstraintParam to one.

Parameters:
ParamA String that should be storing, a constraint param name.
Returns:
if the name matches on of the constraintParams exactly, return that one.
Exceptions:
Ifthe Param does not match a type exactly, then this will throw an exception.
CollisionShape::ShapeType MEZZ_LIB Mezzanine::StringToShapeType ( const String &  TypeName)

Convert a human readable string (as provided by ShapeTypeToString()) and convert it to a CollisionShape::ShapeType.

Parameters:
TypeNameA String that matches exactly what returns from ShapeTypeToString().
Returns:
A valid CollisionShape::ShapeType if possible
Exceptions:
Thisthrows a Mezzanine::Exception in the event of a gibberish name.

Definition at line 1726 of file collisionshape.cpp.

template<class T >
double Mezzanine::Todouble ( const T &  Datum)

Converts whatever to a double as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
A double with the converted data

This exists for interacting with other libraies, in situations where changing the Typedefs could break things

Definition at line 258 of file datatypes.h.

template<class T >
float Mezzanine::Tofloat ( const T &  Datum)

Converts whatever to a float as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
A float with the converted data

This exists for interacting with other libraies, in situations where changing the Real Typedef could break things

Definition at line 245 of file datatypes.h.

template<class T >
int Mezzanine::Toint ( const T &  Datum)

Converts whatever to an int as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
An int with the converted data

This exists for interacting with other libraies, in situations where changing the Integer Typedef could break things

Definition at line 205 of file datatypes.h.

template<class T >
Integer Mezzanine::ToInteger ( const T &  Datum)

Converts whatever to an Integer as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
An Integer with the converted data

Definition at line 191 of file datatypes.h.

template<class T >
Real Mezzanine::ToReal ( const T &  Datum)

Converts whatever to a Real as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
A Real with the converted data

Definition at line 231 of file datatypes.h.

template<class T >
String Mezzanine::ToString ( const T &  Datum)

Converts whatever to a String as long as a streaming operator is available for it.

Parameters:
DatumThe whatever to be converted
Returns:
A String with the converted data

Definition at line 169 of file datatypes.h.

template<class T >
unsigned int Mezzanine::Tounsignedint ( const T &  Datum)

Converts whatever to an unsigned int as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
An unsigned int with the converted data

This exists for interacting with other libraies, in situations where changing the Integer Typedef could break things

Definition at line 219 of file datatypes.h.

template<class T >
Whole Mezzanine::ToWhole ( const T &  Datum)

Converts whatever to a Whole as long as the proper streaming operators are available for it.

Parameters:
DatumThe whatever to be converted
Returns:
A Whole with the converted data

Definition at line 179 of file datatypes.h.


Variable Documentation

How many ConstraintParam Exist.

Used in some algorithms and we didn't want it to look like a magic so we defined it here.

Definition at line 91 of file constraint.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines