# I3DShGroup Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShGroup:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | DoOpenClose (boolean openIt)=0
virtual MCCOMErr MCCOMAPI | OpenClose (boolean openIt)=0
virtual boolean MCCOMAPI | IsOpen ()=0
virtual boolean MCCOMAPI | RayHit (RayHitParameters &param)=0
virtual boolean MCCOMAPI | RayHitRaytracables (RayHitParameters &param)=0
virtual boolean MCCOMAPI | RayHitNoGrid (RayHitParameters &param, boolean bboxOnly, InstanceFilterFunction filter=NULL)=0
virtual void MCCOMAPI | GetBoundingBox (TBBox3D &bbox, ETreeDeformBBoxModes deformMode, boolean rendering=true)=0
virtual const TMCClassArray < RaytracedInstance > &MCCOMAPI | GetRaytracedInstances ()=0
virtual I3DShTreeElement *MCCOMAPI | GetTreeElement ()=0
virtual boolean MCCOMAPI | CanSelectChildren ()=0
virtual boolean MCCOMAPI | GetSelectChildrenWhenClosed ()=0
virtual void MCCOMAPI | SetSelectChildrenWhenClosed (boolean value)=0

## Detailed Description

Defines a group of objects. Note that such a group cannot be instantiated. To instantied a group you need to turn it into a Master Group (see I3DShMasterGroup) first.

Other interfaces surported: I3DShTreeElement, I3DShShadableTree, ISelectableObject

## Member Function Documentation

virtual boolean MCCOMAPI I3DShGroup::CanSelectChildren | ( |  | ) | `[pure virtual]`

Returns true if the user can select the children of the group.

virtual MCCOMErr MCCOMAPI I3DShGroup::DoOpenClose | ( | boolean | openIt | ) | `[pure virtual]`

Use this call to open or close a group. When a group is open, its elements can be manipulated individually.

Parameters:

  | openIt | True if the group should be open.

virtual void MCCOMAPI I3DShGroup::GetBoundingBox | ( | TBBox3D & | bbox,
|  | ETreeDeformBBoxModes | deformMode,
|  | boolean | rendering = `true` |
| ) |  |  | `[pure virtual]`

Returns the bounding box of the group.

Parameters:

  | bbox | The bounding box that is returned.
  | deformMode | Defines how the deformers are applied to calculate to bbox. (see ETreeDeformBBoxModes)
  | rendering | True if you want a bounding box for rendering or just for previewing

virtual const TMCClassArray<RaytracedInstance>& MCCOMAPI I3DShGroup::GetRaytracedInstances | ( |  | ) | `[pure virtual]`

Returns the list of instances used for the raytracing (except for infinite primitives). Note that the index in this array is the same as the fInstanceIndex field of RayHit3D as well as the originInstanceIndex field of RayHitParameters.

virtual boolean MCCOMAPI I3DShGroup::GetSelectChildrenWhenClosed | ( |  | ) | `[pure virtual]`

virtual I3DShTreeElement* MCCOMAPI I3DShGroup::GetTreeElement | ( |  | ) | `[pure virtual]`

Returns a pointer to the I3DShTreeElement interface.

virtual boolean MCCOMAPI I3DShGroup::IsOpen | ( |  | ) | `[pure virtual]`

Return true if the group is open (see DoOpenClose() ).

virtual MCCOMErr MCCOMAPI I3DShGroup::OpenClose | ( | boolean | openIt | ) | `[pure virtual]`

This lower level call just changes the status. Use DoOpenClose() instead.

Parameters:

  | openIt | True if the group should be open.

virtual boolean MCCOMAPI I3DShGroup::RayHit | ( | RayHitParameters & | param | ) | `[pure virtual]`

Calculates the intersection of a ray and all the objects in the group

Parameters:

  | param | The parameters of the ray coming in and of the result of the hit.

virtual boolean MCCOMAPI I3DShGroup::RayHitNoGrid | ( | RayHitParameters & | param,
|  | boolean | bboxOnly,
|  | InstanceFilterFunction | filter = `NULL` |
| ) |  |  | `[pure virtual]`

Calculates the intersection of a ray and all the objects in the group. This call is useful when you do not want to take the time to build a grid to optimize the intersection of the rays. You should use this call if you plan to send only a few rays before the scene is modified. Use RayHit() if you plan to send many rays without modify the scene.

Parameters:

  | param | The parameters of the ray coming in and of the result of the hit.
  | bboxOnly | True if the hit should only consider the bounding boxes and not the geometry.

virtual boolean MCCOMAPI I3DShGroup::RayHitRaytracables | ( | RayHitParameters & | param | ) | `[pure virtual]`

Calculates the intersection of a ray and all the objects raytracable in the group

Parameters:

  | param | The parameters of the ray coming in and of the result of the hit.

virtual void MCCOMAPI I3DShGroup::SetSelectChildrenWhenClosed | ( | boolean | value | ) | `[pure virtual]`

The documentation for this struct was generated from the following file:

- I3DShGroup.h