Implementations


Detailed Description

Here are the default provided implementations of common inter-component "container" objects.


Modules

 Lists
 Factory access
 These are functions used to access the "factory" objects (exported via DIComponentInfo / GetComponentInfo) of other components.
 XML Handling functions
 Functions useful for working with or producing XML.
 DataResources
 XML objects
 These are customised TinyXML ( http://www.sourceforge.net/projects/tinyxml/ ) classes.
 Math Objects
 These objects are implemented by a customised version of the Wild Magic Library.

Data Structures

class  DigitalSpaces::DIComponentInfoImpl
 Implements DIComponentInfo, as filled in by a component in GetComponentInfo. More...
class  DigitalSpaces::Variant
 Class to pass the Variant_Impl structure across component boundaries (as a DInterface). More...
class  DigitalSpaces::SettingMap
 Implements a flexible key-to-value map collection, using strings for keys and Variant for values. More...

Typedefs

typedef boost::variant
< boost::blank, DIObjectBase
*, bool, int, unsigned int,
double, std::string,
Wml::Vector3f,
Wml::Quaternionf,
Wml::Vector4f,
boost::recursive_wrapper
< SettingMap > > 
DigitalSpaces::Variant_Impl
 A data wrapper for common DSS types.

Functions

template<typename T>
T * DigitalSpaces::dss_cast (DIObjectBase *src)
 Typecast function that performs QueryInterface for us.
std::ostream & operator<< (std::ostream &out, const Wml::Vector3f &vec)
 Operator allowing Wml::Vector3f to be fed into an ostream, such as cout.
std::ostream & operator<< (std::ostream &out, const Wml::Vector4f &vec)
 Operator allowing Wml::Vector4f to be fed into an ostream, such as cout.
std::ostream & operator<< (std::ostream &out, const Wml::Quaternionf &quat)
 Operator allowing Wml::Quaternionf to be fed into an ostream, such as cout.
std::ostream & operator<< (std::ostream &out, const DigitalSpaces::DUID *data)
 Operator allowing DUID* to be fed into an ostream, such as cout.
std::ostream & operator<< (std::ostream &out, const DigitalSpaces::DUID &data)
 Operator allowing DUID to be fed into an ostream, such as cout.

Typedef Documentation

typedef boost::variant< boost::blank, DIObjectBase*, bool, int, unsigned int, double, std::string, Wml::Vector3f, Wml::Quaternionf, Wml::Vector4f, boost::recursive_wrapper< SettingMap > > DigitalSpaces::Variant_Impl

A data wrapper for common DSS types.

Designed to be passed between components when needing to pass unknown data, usually a collection of. For example, retreiving component configurationd data from a common store. It will automatically typecast from any of the specified types. boost::blank is used to specify "none" or "invalid".

Note:
This should not be used directly, use Variant instead.
Todo:
Add a function object that can return generated values. A useful form of this may be random values.
Note:
Should allow for different types of random distribution.


Function Documentation

template<typename T>
T* DigitalSpaces::dss_cast ( DIObjectBase src  )  [inline]

Typecast function that performs QueryInterface for us.

This is possibly one of the most commonly used functions when implementing a Digital Spaces component. It performs a type safe conversion, after querying the implementation for support for the specified interface, or returns NULL if not supported. The usage is designed to mimic the C++ standard dynamic_cast function.

Example usage:

                        DigitalSpaces::DISGManager* pSGManager = DigitalSpaces::GetSingleFactoryWithInterface< DigitalSpaces::DISGManager >();
                        DigitalSpaces::DISGRenderObject* pRenderObject = pSGManager->GetSGRenderObject( "KnownSGRenderObjectName" );
                        DigitalSpaces::DISGAnimatedRenderObject* pAnimatedRenderObject = DigitalSpaces::dss_cast< DigitalSpaces::DISGAnimatedRenderObject >(pRenderObject);
See also:
GetSingleFactoryWithInterface
Note:
In the scripting implementation, this is accessed as DInterfaceName.cast

Referenced by DigitalSpaces::GetSingleFactoryWithInterface().

std::ostream& operator<< ( std::ostream &  out,
const DigitalSpaces::DUID data 
)

Operator allowing DUID to be fed into an ostream, such as cout.

std::ostream& operator<< ( std::ostream &  out,
const DigitalSpaces::DUID data 
)

Operator allowing DUID* to be fed into an ostream, such as cout.

std::ostream& operator<< ( std::ostream &  out,
const Wml::Quaternionf quat 
)

Operator allowing Wml::Quaternionf to be fed into an ostream, such as cout.

std::ostream& operator<< ( std::ostream &  out,
const Wml::Vector4f vec 
)

Operator allowing Wml::Vector4f to be fed into an ostream, such as cout.

std::ostream& operator<< ( std::ostream &  out,
const Wml::Vector3f vec 
)

Operator allowing Wml::Vector3f to be fed into an ostream, such as cout.


Generated on Sun Aug 31 17:46:27 2008 for Digital Spaces by  doxygen 1.5.6