CpgIntegratorState

CpgIntegratorState — The integrator state

Synopsis

#define             CPG_INTEGRATOR_STATE_CONST          (obj)
struct              CpgIntegratorState;
struct              CpgIntegratorStateClass;
CpgIntegratorState * cpg_integrator_state_new           (CpgObject *object);
CpgObject *         cpg_integrator_state_get_object     (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_integrated_properties
                                                        (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_direct_properties
                                                        (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_all_properties (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_integrated_link_actions
                                                        (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_direct_link_actions
                                                        (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_inputs         (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_expressions    (CpgIntegratorState *state);
const GSList *      cpg_integrator_state_operators      (CpgIntegratorState *state);
void                cpg_integrator_state_update         (CpgIntegratorState *state);
                    CpgIntegratorStatePrivate;

Object Hierarchy

  GObject
   +----CpgIntegratorState

Properties

  "object"                   CpgObject*            : Read / Write / Construct Only

Signals

  "updated"                                        : Run Last

Description

The integrator state stores information on which properties need to be integrated and how, based on a root object. It automatically tracks changes in the root object and recalculates the properties that need to be integrated.

Details

CPG_INTEGRATOR_STATE_CONST()

#define CPG_INTEGRATOR_STATE_CONST(obj)      (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPG_TYPE_INTEGRATOR_STATE, CpgIntegratorState const))


struct CpgIntegratorState

struct CpgIntegratorState;


struct CpgIntegratorStateClass

struct CpgIntegratorStateClass {
};


cpg_integrator_state_new ()

CpgIntegratorState * cpg_integrator_state_new           (CpgObject *object);

Create a new integrator state for the given object.

object :

A CpgObject

Returns :

A CpgIntegratorState

cpg_integrator_state_get_object ()

CpgObject *         cpg_integrator_state_get_object     (CpgIntegratorState *state);

Get the object of the integrator state.

state :

A CpgIntegratorState

Returns :

A CpgObject. [transfer none]

cpg_integrator_state_integrated_properties ()

const GSList *      cpg_integrator_state_integrated_properties
                                                        (CpgIntegratorState *state);

Get the integrated properties which are acted upon by links.

state :

A CpgIntegratorState

Returns :

A GSList of CpgProperty. [element-type CpgProperty][transfer none]

cpg_integrator_state_direct_properties ()

const GSList *      cpg_integrator_state_direct_properties
                                                        (CpgIntegratorState *state);

Get non-integrated properties which are acted upon by links.

state :

A CpgIntegratorState

Returns :

A GSList of CpgProperty. [element-type CpgProperty][transfer none]

cpg_integrator_state_all_properties ()

const GSList *      cpg_integrator_state_all_properties (CpgIntegratorState *state);

Get the link actions that act on non-integrated properties.

state :

A CpgIntegratorState

Returns :

A GSList of CpgProperty. [element-type CpgProperty][transfer none]

cpg_integrator_state_integrated_link_actions ()

const GSList *      cpg_integrator_state_integrated_link_actions
                                                        (CpgIntegratorState *state);

Get the link actions that act on integrated properties.

state :

A CpgIntegratorState

Returns :

A GSList of CpgLinkAction. [element-type CpgLinkAction][transfer none]

cpg_integrator_state_direct_link_actions ()

const GSList *      cpg_integrator_state_direct_link_actions
                                                        (CpgIntegratorState *state);

Get the link actions that act on non-integrated properties.

state :

A CpgIntegratorState

Returns :

A GSList of CpgLinkAction. [element-type CpgLinkAction][transfer none]

cpg_integrator_state_inputs ()

const GSList *      cpg_integrator_state_inputs         (CpgIntegratorState *state);

Get the input states.

state :

A CpgIntegratorState

Returns :

A GSList of CpgInput. [element-type CpgInput][transfer none]

cpg_integrator_state_expressions ()

const GSList *      cpg_integrator_state_expressions    (CpgIntegratorState *state);

Get the expressions in the network.

state :

A CpgIntegratorState

Returns :

A GSList of CpgExpression. [element-type CpgExpression][transfer none]

cpg_integrator_state_operators ()

const GSList *      cpg_integrator_state_operators      (CpgIntegratorState *state);


cpg_integrator_state_update ()

void                cpg_integrator_state_update         (CpgIntegratorState *state);

Update the integrator state. This recursively goes through all the objects contained in the associated "object" and collects the links and properties that need to be integrated.

state :

A CpgIntegratorState

CpgIntegratorStatePrivate

typedef struct _CpgIntegratorStatePrivate CpgIntegratorStatePrivate;

Property Details

The "object" property

  "object"                   CpgObject*            : Read / Write / Construct Only

The object which is integrated

Signal Details

The "updated" signal

void                user_function                      (CpgIntegratorState *arg0,
                                                        gpointer            user_data)      : Run Last

Emitted when an integrator step has been performed

user_data :

user data set when the signal handler was connected.