The ISurface graph node interface. More...

#include "murl_graph_i_surface.h"

Inheritance diagram for Murl::Graph::ISurface:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () 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]

virtual INode* Murl::Graph::ISurface::GetNodeInterface ( )
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]

virtual const INode* Murl::Graph::ISurface::GetNodeInterface ( ) const
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()

virtual Physics::ISurface* Murl::Graph::ISurface::GetPhysicsSurfaceObject ( ) const
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


Copyright © 2011-2024 Spraylight GmbH.