The ISurface graph node interface. More...
#include "murl_graph_i_surface.h"
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual Physics::ISurface * | GetPhysicsSurfaceObject () const =0 |
Get the surface's internal physics simulator object. More... | |
Public Member Functions inherited from Murl::Graph::IStateSlot | |
virtual Bool | SetSlot (SInt32 slot)=0 |
Set the slot index to use. More... | |
virtual SInt32 | GetSlot () const =0 |
Get the slot index to use. More... | |
Detailed Description
The ISurface graph node interface.
Surface nodes (not to be confused with Murl::IVideoSurface objects, which are used to represent graphical (bitmap) data) are used to define a physical property for nodes implementing the Graph::ICollidable interface.
A surface does not store any physical properties itself, because the actual physical behavior of a collision (such as bounciness or friction) greatly depends on the surface combination of the collision partners. For this reason, every possible (or at least every desired) combination of colliding surfaces must be explicitly defined via individual Graph::IContact nodes, which store the actual collision properties for a given surface pair.
Use the Graph::IStateSlot base interface to set or get the surface slot index this surface is temporarily attached to if any children are present.
See Output-States, Slots und Units for an overview of state handling during scene graph traversal.
See Graph::ISurfaceState for activating a surface for handling collisions.
Member Function Documentation
◆ GetNodeInterface() [1/2]
|
pure virtual |
Get the mutable Graph::INode interface.
This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.
- Returns
- The mutable Graph::INode interface, or null if not available
◆ GetNodeInterface() [2/2]
|
pure virtual |
Get the constant Graph::INode interface.
This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.
- Returns
- The constant Graph::INode interface, or null if not available
◆ GetPhysicsSurfaceObject()
|
pure virtual |
Get the surface's internal physics simulator object.
- Returns
- A pointer to the mutable physics simulator object.
The documentation for this interface was generated from the following file:
- murl_graph_i_surface.h