# IRnShapeVolumeInfo Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | SetOctreeNode ([in] IRsBaseNode *pOctree)
HRESULT | RayBox ([in] RtPoint *p0,[in] RtPoint *ray,[out] RtBool *pick,[out] RtFloat *min,[out] RtFloat *max)
HRESULT | GetMeshCenter ([out] RtPoint *point)
HRESULT | GetVolume ([out] RtFloat *volume)
HRESULT | Validate ()
HRESULT | SetPassiveFlag ()
HRESULT | ClearPassiveFlag ()
HRESULT | GetPassiveFlag ([out] RtBool *bPassive)
HRESULT | LockData ()
HRESULT | UnLockData ()
HRESULT | GetLockedData ([out] IRdOBBTree **pTree,[out] IRdMatrixf **pMatrix)
HRESULT | IsVisible ([out] RtBool *pVisible)
HRESULT | GetBox ([out] RtFloat *pBox)
HRESULT | GetObject ([out] IRsNode **ppObject)

## Detailed Description

IRnShapeVolumeInfo interface provides access to collision shape object

## Member Function Documentation

HRESULT IRnShapeVolumeInfo::SetOctreeNode | ( | [in] IRsBaseNode * | pOctree | ) |

Sets octree object that is registering shape object

Parameters:

  | pOctree | - octree object

HRESULT IRnShapeVolumeInfo::RayBox | ( | [in] RtPoint * | p0,
|  | [in] RtPoint * | ray,
|  | [out] RtBool * | pick,
|  | [out] RtFloat * | min,
|  | [out] RtFloat * | max |
| ) |  |  |

Return intersection between bounding box of shape object and arbitrary ray

Parameters:

  | p0 | - origin of ray
  | ray | - direction of ray
  | pick | - TRUE if ray hits objects, FALSE in other cases
  | min | - the smallest distance between origin of ray and the intersection of box and ray
  | max | - the highest distance between origin of ray and the intersection of box and ray

HRESULT IRnShapeVolumeInfo::GetMeshCenter | ( | [out] RtPoint * | point | ) |

Return geometrical center of shape objects

Parameters:

  | point | - center of object in object coordinate

HRESULT IRnShapeVolumeInfo::GetVolume | ( | [out] RtFloat * | volume | ) |

Return volume of shape objects

Parameters:

  | volume | - volume of object

HRESULT IRnShapeVolumeInfo::Validate | ( |  | ) |

Validate shape objects in octree

HRESULT IRnShapeVolumeInfo::SetPassiveFlag | ( |  | ) |

Set passive flag, if flag is set object is ignored in octree

HRESULT IRnShapeVolumeInfo::ClearPassiveFlag | ( |  | ) |

Clear passive flag

HRESULT IRnShapeVolumeInfo::GetPassiveFlag | ( | [out] RtBool * | bPassive | ) |

Return whether passive flag is set or not

Parameters:

  | bPassive | - TRUE if passive flag is set, FALSE in other cases

HRESULT IRnShapeVolumeInfo::LockData | ( |  | ) |

Make internal copy of internal data of shape object

HRESULT IRnShapeVolumeInfo::UnLockData | ( |  | ) |

Clear internal copy of internal data of shape object

HRESULT IRnShapeVolumeInfo::GetLockedData | ( | [out] IRdOBBTree ** | pTree,
|  | [out] IRdMatrixf ** | pMatrix |
| ) |  |  |

Return internal copy of internal data of shape object

Parameters:

  | pTree | - copy of oriented bound box tree data
  | pMatrix | - copy transformation matrix

HRESULT IRnShapeVolumeInfo::IsVisible | ( | [out] RtBool * | pVisible | ) |

Return visibility of object

HRESULT IRnShapeVolumeInfo::GetBox | ( | [out] RtFloat * | pBox | ) |

Return bounding box for object

HRESULT IRnShapeVolumeInfo::GetObject | ( | [out] IRsNode ** | ppObject | ) |

Return connected object