# I3DShDataComponent Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShDataComponent:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | GetPostRenderList (TMCArray< IDType > &idArray)=0
virtual boolean MCCOMAPI | IsActive (I3DShTreeElement *tree)=0
virtual void MCCOMAPI | GetVolumetricList (TMCArray< IDType > &idArray)=0
virtual IShParameterComponent *MCCOMAPI | GetThisParameterComponent ()=0
| Returns the IShParameterComponent interface that is always supported by datacomponents.
virtual boolean MCCOMAPI | CanImportData (I3DImportData *inImportData)=0
| return true if the component can perform the import operation
virtual boolean MCCOMAPI | ImportData (I3DImportData *inImportData)=0
| return true if the component performed the import operation

## Detailed Description

A data component is a component that is attached to an object (a light, a camera or an primitive...) and is used to store static or animated parameters.

It call also be used to trigger a post rendering to take place that relies on the data stores in the data component. This also for instance, a post rendering to affect only the objects on which a particular data component is active.

Last it can be used to associate a volumetric effect with an object. For instance a light cone with a given light or a volumetric aura on a primitive.

There are two interfaces to access a dataComponent: The shell interface (I3DShDataComponent) and the external interface (I3DExDataComponent) . You can get one from the other using QueryInterface.

You should use the Shell interface (I3DShDataComponent) to access the component because the Shell will make sure that the parameter map of the external component is valid. This is especially important if the component is animated. For more information on components see the Overview of the SDK.

See also:
  I3DExDataComponent

## Member Function Documentation

virtual boolean MCCOMAPI I3DShDataComponent::CanImportData | ( | I3DImportData * | inImportData | ) | `[pure virtual]`

return true if the component can perform the import operation

virtual MCCOMErr MCCOMAPI I3DShDataComponent::GetPostRenderList | ( | TMCArray< IDType > & | idArray | ) | `[pure virtual]`

Fills the array with the class ID of the postrenderer that are enabled by this dataComponent

Parameters:

  | idArray | Reference to the array where the ids should added

virtual IShParameterComponent* MCCOMAPI I3DShDataComponent::GetThisParameterComponent | ( |  | ) | `[pure virtual]`

Returns the IShParameterComponent interface that is always supported by datacomponents.

virtual void MCCOMAPI I3DShDataComponent::GetVolumetricList | ( | TMCArray< IDType > & | idArray | ) | `[pure virtual]`

Returns a list of class IDs of the Volumetric components to instantiate to render this effect

Parameters:

  | idArray | Reference to the array where the ids should added

virtual boolean MCCOMAPI I3DShDataComponent::ImportData | ( | I3DImportData * | inImportData | ) | `[pure virtual]`

return true if the component performed the import operation

virtual boolean MCCOMAPI I3DShDataComponent::IsActive | ( | I3DShTreeElement * | tree | ) | `[pure virtual]`

Returns false if the dataComponent has no effect on this object

Parameters:

  | tree | The tree element on which the datacomponent is located.

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

- I3dShRenderFeature.h