Todo List

page Digital Spaces Interfaces API
Fill this out

page Digital Spaces Interfaces API
Creating a component

page Digital Spaces Interfaces API
Providing new DInterfaces

page Digital Spaces Interfaces API
Agent Behaviours

Class DigitalSpaces::DI3DAudioEntity1
Add rest of 3D Audio functionality (position, orientation, velocity, rotation etc)

Global DigitalSpaces::DI3DVisualsGUIElement1::isClosed ()
Put here for now. Later needs to be moved to a Window Element

Class DigitalSpaces::DIAcceptSettingMap
Add functions to allow interrogation of what settings are supported, and inspection of the current values. Possible also default value interrogation.

Class DigitalSpaces::DIAcceptSettingMap
Consider making this more generic, copy functionality from the DIPhysicsBase design, where using a SettingMap is a shortcut for multiple Set calls.

Global DigitalSpaces::DICore1::GetConfigurationPath ()
This should be moved to be stored in the per-user storage area.

Global DigitalSpaces::DICore1::GetPluginPath ()
This needs better seperation from GetModulePath.

Class DigitalSpaces::DIDataResourceManager
Consider a RemoveSearchPath option.

Class DigitalSpaces::DIDataTransfer1
Look at adding a "channel" or "group" id to these functions, to allow selective subgroubs beyond entire space

Class DigitalSpaces::DIOGREGpuProgram
Fill this out if/when we decide it's needed

Class DigitalSpaces::DIOGREIndexData
Need to flesh this out, because the physics implementation will need it

Global DigitalSpaces::DIOGRESceneManager::SetShadowTechnique (OGREShadowTechnique technique)
We need to do these later

Class DigitalSpaces::DIOGREVertexData
Need to flesh this out, because the physics implementation will need it

Class DigitalSpaces::DIOGREViewport
Fill this out if/when we decide it's needed

Class DigitalSpaces::DIPhysicsBase
Other physics interface should inherit from this interface. It is recommended that initialization of physics objects be performed by the SceneGraph and providing appropriate information in the .scene format. However, if creating objects manually, the process is:

Global DigitalSpaces::DIPhysicsBase::BeginSetup ()
Should this function be removed and replaced with a call to BeginSetup(const char* sObjectType) where sObjectType is ignored if appropriate for the object?

Global DigitalSpaces::DIPhysicsCollision::GetShape ()
Check this is what the current implementation is doing.

Global DigitalSpaces::DIPhysicsRay::SetRayLength (float length)
Add an infinite option?

Class DigitalSpaces::DIScheduledObject
Give consideration to changing the system, so that rather then GetComponentInfo returning a structure that contains DIScheduledObject, the DICore supports being given a DIScheduledObject, at any point in time. This would allow the use of the scheduler in more situations, in a more flexible arrangement.

Class DigitalSpaces::DIScheduledObject
Also under consideration is changing the GetMaxRunInterval/GetMinRunInterval system to something where the Core asks the DIScheduledObject to decrease or increase it's load on the system, and it's up to the component implementation if this involves changing its call frequency. This would additionally allow the component to know when to enact Level Of Detail changes, and such.

Class DigitalSpaces::DISettingMap
Add a function for removing a value

Class DigitalSpaces::DISettingMap
Add a function for setting the value of an existing key, only if it exists. This is inverse of insertValue. Until this is implemented, using getValue and using one of the Assignment Functions of DIVariant is the way to do this.

Global DigitalSpaces::DISGNode::AttachObject (DISGRenderObject *object)
How does it handle render objects that are also implement DISGNode?

Class DigitalSpaces::DIUserActionFilter1
Look at coming up with a better way of implementing this. - Possibly something SGManager related.

Class DigitalSpaces::DIUserInput1
This system needs revision.

Class DigitalSpaces::DIWin32Window1
Should be replaced with functions that perform the actions commonly performed using data from this DInterface (ShowWindow).

Global DigitalSpaces::SettingMap::SettingMap (DISettingMap *rhs)
Needs to be able to construct from a DISettingMap without doing a dubious cast.

Class DigitalSpaces::strctKeyEvent
Look at replacing this with a DInterface with querying methods

Global DigitalSpaces::Variant::Variant (DIVariant *rhs)
Need a constructor from a DIVariant that doesn't do a dubious typecast

Class DigitalSpaces::Variant::getStringVisitor
This needs further development, to allow more automatic to-string conversion.

Global DigitalSpaces::DUIDFromString (const std::string &str, DUID *pduid)
Replace this with actual code, rather then linking in

Global DigitalSpaces::StringFromDUID (const DUID *pduid, std::string &str)
Replace this with actual code, rather then linking in

Global DigitalSpaces::XMLNodeType
The functions that use this data can probably be reimplemented to use the DSS dss_cast/QueryInterface system.

Global DigitalSpaces::out_Quaternionf
Look into packing

Group GUI
This needs to be renamed to 2DGUI, since the GUI is overlayed/flat, and will not be always tied to a 3D Renderer

Group GUI
Also look at making all Widget-specific interfaces derived from DI3DVisualsGUIElement1. Will make vtables bigger, but save on down casting.

Group Audio
Needs a complete implementation. Support for DISGRepresentation would be the way to go, I think.

Global DigitalSpaces::DID_CEGUI1
Event subscription

Global DigitalSpaces::Variant_Impl
Add a function object that can return generated values. A useful form of this may be random values.

Global DigitalSpaces::_readColour (DigitalSpaces::DIXMLElement1 *xmlElem)
Should there be an error return value? Since this is a implementation function, not an interface function, throwing an exception would be acceptable.

Global DigitalSpaces::_readQuaternion (DigitalSpaces::DIXMLElement1 *xmlElem)
Should there be an error return value? Since this is a implementation function, not an interface function, throwing an exception would be acceptable.

Global DigitalSpaces::_readVector (DigitalSpaces::DIXMLElement1 *xmlElem)
Should there be an error return value? Since this is a implementation function, not an interface function, throwing an exception would be acceptable.

Global DigitalSpaces::GetVariantFromXML (DIXMLElement1 *)
Improve attribute reading process to be case insensitive.

Global DigitalSpaces::GetVariantFromXML (DIXMLElement1 *)
Add support for <settings> (or <settingmap>) using GetSettingMapFromXML.

Group MathObjects
These should probably be reimplemented, as our customizations are hacky. Possibly by subclassing the Vector3<Real> etc classes?

Page How is scripting different then a component?
Check if our implementation supports python destructors, as an equivalent to StopFactory?


Generated on Thu Jul 10 16:21:34 2008 for Digital Spaces by  doxygen 1.5.6