# IRnPhysGroupObj Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | InitGroupObj (void)
HRESULT | GetSubObjList ([out] IRsList **ppList)
HRESULT | SetSubObjects (void)
HRESULT | DeleteSubObjects (void)
HRESULT | AddSubObject ([in]IRsNode *pNode,[in] RtBool *bAppend)
HRESULT | Update ([in] RtBool *bForce)
HRESULT | IsSubObject ([in] IRsNode *pNode)
HRESULT | RemoveSubObject ([in] IRsNode *pNode)
HRESULT | GetSubObjectCount ([out] int *count)
HRESULT | GetActiveSubObjectCount ([out] int *count)
HRESULT | InitSpeeds ()

## Detailed Description

IRnPhysGroupObj interface provides methods to work with group phys object used for representation of phys properties of hierarchical object. Each sub-object of such object is treated as independent object with physical properties.

## Member Function Documentation

HRESULT IRnPhysGroupObj::InitGroupObj | ( | void |  | ) |

Initialize group phys object according object's owner.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::GetSubObjList | ( | [out] IRsList ** | ppList | ) |

Return list of all sub-objects of group object.

Parameters:

  | ppList | [out] List of all sub-objects.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::SetSubObjects | ( | void |  | ) |

Initialize all sub-objects to have phys properties.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::DeleteSubObjects | ( | void |  | ) |

Remove phys properties from subobjects.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::AddSubObject | ( | [in] IRsNode * | pNode,
|  | [in] RtBool * | bAppend |
| ) |  |  |

Add specific sub-object to group object, if bAppend is true, all parameters of group object are immediately updated.

Parameters:

  | pNode | [in] Object to be added.
  | bAppend | [in] If TRUE group object is updated immediately.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::Update | ( | [in] RtBool * | bForce | ) |

Update of global group object parameters.

Parameters:

  | bForce | [in] If TRUE sub-objects are updated according group objects, if FALSE group object is update according sub-objects.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::IsSubObject | ( | [in] IRsNode * | pNode | ) |

Check whether object is sub-object of group object.

Parameters:

  | pNode | [in] Object to be checked.

Returns:
  S_OK if yes, S_FALSE if not.

HRESULT IRnPhysGroupObj::RemoveSubObject | ( | [in] IRsNode * | pNode | ) |

Remove sub-object from group object.

Parameters:

  | pNode | [in] Object to be removed.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::GetSubObjectCount | ( | [out] int * | count | ) |

Return count of all sub-objects.

Parameters:

  | count | [out] Count of object.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::GetActiveSubObjectCount | ( | [out] int * | count | ) |

Return count of all active sub-objects (objects with phys properties).

Parameters:

  | count | [out] Count of object.

Returns:
  standard HRESULT processing can be applied to returned value.

HRESULT IRnPhysGroupObj::InitSpeeds | ( |  | ) |

Init speed of group object according speed of all its sub-objects.

Returns:
  standard HRESULT processing can be applied to returned value.