The IField graph node interface. More...
#include "murl_graph_i_field.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 ITransform * | GetTransformInterface ()=0 |
Get the mutable Graph::ITransform interface. More... | |
virtual const ITransform * | GetTransformInterface () const =0 |
Get the constant Graph::ITransform interface. More... | |
virtual Bool | SetInfluenceGroupMask (UInt32 mask)=0 |
Set the individual body groups this field is influencing. More... | |
virtual UInt32 | GetInfluenceGroupMask () const =0 |
Get the individual body groups this field is influencing. More... | |
virtual Bool | SetConstantFactor (Real factor)=0 |
Set the field's constant influence factor. More... | |
virtual Real | GetConstantFactor () const =0 |
Get the field's constant influence factor. More... | |
virtual Bool | SetLinearFactor (Real factor)=0 |
Set the field's linear influence factor. More... | |
virtual Real | GetLinearFactor () const =0 |
Get the field's linear influence factor. More... | |
virtual Bool | SetQuadraticFactor (Real factor)=0 |
Set the field's quadratic influence factor. More... | |
virtual Real | GetQuadraticFactor () const =0 |
Get the field's quadratic influence factor. More... | |
virtual Bool | SetType (IEnums::FieldType type)=0 |
Set the field type. More... | |
virtual IEnums::FieldType | GetType () const =0 |
Get the field type. More... | |
virtual Bool | SetShape (IEnums::FieldShape shape)=0 |
Set the field shape. More... | |
virtual IEnums::FieldShape | GetShape () const =0 |
Get the field shape. More... | |
Detailed Description
The IField graph node interface.
This interface represents a generic field object in the framework's physics simulator, that permanently acts on any Graph::IBody nodes that are present in the field's defined influence groups.
Fields come in different shapes (planar, spherical, ...) and can be controlled to apply either a force or an acceleration to the bodies within its range. There is also a nuber of factors (constant, linear and quadratic) that can be set to control the actual field strength acting on a body depending on its distance to the field.
See Graph::IBody to define a body to act on.
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
◆ GetTransformInterface() [1/2]
|
pure virtual |
Get the mutable Graph::ITransform interface.
This method returns a mutable pointer to the node's Graph::ITransform interface, to be able to query or modify the node's transformation matrix and depth order.
- Returns
- The mutable Graph::ITransform interface, or null if not available
◆ GetTransformInterface() [2/2]
|
pure virtual |
Get the constant Graph::ITransform interface.
This method returns a constant pointer to the node's Graph::ITransform interface, to be able to query the node's transformation matrix and depth order.
- Returns
- The constant Graph::ITransform interface, or null if not available
◆ SetInfluenceGroupMask()
Set the individual body groups this field is influencing.
This method sets the field's influence on a number of individual body groups. Each bit in the given mask represents one of 32 possible groups; see Graph::IBody::SetResponseGroupMask() for assigning a body to any of these groups.
- Parameters
-
mask The group influence bit mask.
- Returns
- true if successful.
◆ GetInfluenceGroupMask()
|
pure virtual |
Get the individual body groups this field is influencing.
- Returns
- The bit mask specifying the group influence.
◆ SetConstantFactor()
Set the field's constant influence factor.
The given value represents the constant field influence factor, i.e. the amount of influence on any body independent of its distance.
- Parameters
-
factor The field's constant influence factor.
- Returns
- true if successful.
◆ GetConstantFactor()
|
pure virtual |
Get the field's constant influence factor.
- Returns
- The field's constant influence factor.
◆ SetLinearFactor()
Set the field's linear influence factor.
The given value represents the linear field influence factor, i.e. the amount of influence on any body degrading linearly in proportion to that body's distance to the field.
- Parameters
-
factor The field's linear influence factor.
- Returns
- true if successful.
◆ GetLinearFactor()
|
pure virtual |
Get the field's linear influence factor.
- Returns
- The field's linear influence factor.
◆ SetQuadraticFactor()
Set the field's quadratic influence factor.
The given value represents the quadratic field influence factor, i.e. the amount of influence on any body degrading in a quadratic curve in a proportion to that body's distance to the field.
- Parameters
-
factor The field's quadratic influence factor.
- Returns
- true if successful.
◆ GetQuadraticFactor()
|
pure virtual |
Get the field's quadratic influence factor.
- Returns
- The field's quadratic influence factor.
◆ SetType()
|
pure virtual |
Set the field type.
- Parameters
-
type The field type.
- Returns
- true if successful.
◆ GetType()
|
pure virtual |
Get the field type.
- Returns
- The field type.
◆ SetShape()
|
pure virtual |
Set the field shape.
- Parameters
-
shape The field shape.
- Returns
- true if successful.
◆ GetShape()
|
pure virtual |
Get the field shape.
- Returns
- The field shape.
The documentation for this interface was generated from the following file:
- murl_graph_i_field.h