######
IShape
######

.. cpp:namespace:: RED::IShape

.. default-domain:: cpp

Functions
=========

========================== =============================================================================================================================================================================================
:doc:`classRED_1_1CID`     :cpp:func:`GetClassID <static RED::CID RED::IShape::GetClassID()>`                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBoundingSphere <virtual RED_RC RED::IShape::GetBoundingSphere(RED::BoundingSphere *&oBoundingSphere, int iStateNumber=-1) const =0>`                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBoundingSphere <virtual RED_RC RED::IShape::GetBoundingSphere(RED::BoundingSphere *&oBoundingSphere, const RED::State &iState)=0>`                                             
:cpp:enumerator:`~RED_RC`  :cpp:func:`ComputeBoundingSphere <virtual RED_RC RED::IShape::ComputeBoundingSphere(const RED::State &iState)=0>`                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveBoundingSphere <virtual RED_RC RED::IShape::RemoveBoundingSphere(const RED::State &iState)=0>`                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`UpdateBoundingSpheres <virtual RED_RC RED::IShape::UpdateBoundingSpheres(int iPropagationMode, const RED::State &iState)=0>`                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetChildrenCount <virtual RED_RC RED::IShape::GetChildrenCount(int &oChildrenCount, int iStateNumber=-1) const =0>`                                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetChildren <virtual RED_RC RED::IShape::GetChildren(const RED::Vector< RED::Object * > *&oChildList, int iStateNumber=-1) const =0>`                                             
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetChild <virtual RED_RC RED::IShape::GetChild(RED::Object *&oChild, int iChildNumber, int iStateNumber=-1) const =0>`                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetChildByID <virtual RED_RC RED::IShape::GetChildByID(RED::Object *&oChild, unsigned int iChildID, int iStateNumber=-1) const =0>`                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetChildByID <virtual RED_RC RED::IShape::GetChildByID(RED::Object *&oChild, const RED::String &iChildID, int iStateNumber=-1) const =0>`                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsChildOf <virtual RED_RC RED::IShape::IsChildOf(bool &ioChildOf, const RED::Object *iShape, int iStateNumber=-1) const =0>`                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShapes <virtual RED_RC RED::IShape::GetShapes(RED::Map< RED::Object *, unsigned int > &oShapes, const RED::CID &iCID)=0>`                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetParentsCount <virtual RED_RC RED::IShape::GetParentsCount(int &oParentsCount, int iStateNumber=-1) const =0>`                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetParents <virtual RED_RC RED::IShape::GetParents(const RED::Vector< RED::Object * > *&oParentlist, int iStateNumber=-1) const =0>`                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetParent <virtual RED_RC RED::IShape::GetParent(RED::Object *&oParent, int iParentNumber, int iStateNumber=-1) const =0>`                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetParentViewpoints <virtual RED_RC RED::IShape::GetParentViewpoints(RED::Vector< RED::Object * > &oViewpointList, int iStateNumber=-1) const =0>`                                
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetMaterial <virtual RED_RC RED::IShape::GetMaterial(RED::Object *&oMaterial, int iStateNumber=-1) const =0>`                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetMaterial <virtual RED_RC RED::IShape::SetMaterial(RED::Object *iMaterial, const RED::State &iState)=0>`                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveMaterial <virtual RED_RC RED::IShape::RemoveMaterial(const RED::State &iState)=0>`                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`AddToLayer <virtual RED_RC RED::IShape::AddToLayer(unsigned int iLayer, const RED::State &iState)=0>`                                                                             
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveFromLayer <virtual RED_RC RED::IShape::RemoveFromLayer(unsigned int iLayer, const RED::State &iState)=0>`                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetLayerSet <virtual RED_RC RED::IShape::GetLayerSet(const RED::LayerSet *&iLayerSet, int iStateNumber=-1) const =0>`                                                             
:cpp:enumerator:`~RED_RC`  :cpp:func:`ApplyLayerSet <virtual RED_RC RED::IShape::ApplyLayerSet(const RED::LayerSet *iLayerSet, const RED::State &iState)=0>`                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveLayerSet <virtual RED_RC RED::IShape::RemoveLayerSet(const RED::State &iState)=0>`                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveChildrenLayerSets <virtual RED_RC RED::IShape::RemoveChildrenLayerSets(const RED::State &iState)=0>`                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetContextSwitchCallback <virtual RED_RC RED::IShape::SetContextSwitchCallback(USER_SWITCH_CALLBACK iContextSwitchCB, void *iUserData, const RED::State &iState)=0>`              
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetContextSwitchCallback <virtual RED_RC RED::IShape::GetContextSwitchCallback(USER_SWITCH_CALLBACK &oContextSwitchCB, void *&oUserData, int iStateNumber=-1) const =0>`          
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetVisibilitySwitchCallback <virtual RED_RC RED::IShape::SetVisibilitySwitchCallback(USER_SWITCH_CALLBACK iVisibilitySwitchCB, void *iUserData, const RED::State &iState)=0>`     
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetVisibilitySwitchCallback <virtual RED_RC RED::IShape::GetVisibilitySwitchCallback(USER_SWITCH_CALLBACK &oVisibilitySwitchCB, void *&oUserData, int iStateNumber=-1) const =0>` 
:cpp:enumerator:`~RED_RC`  :cpp:func:`RemoveFromGPU <virtual RED_RC RED::IShape::RemoveFromGPU(const RED::State &iState)=0>`                                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetMemorySize <virtual RED_RC RED::IShape::GetMemorySize(RED::uint64 &oByteSize) const =0>`                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`ForceUpdate <virtual RED_RC RED::IShape::ForceUpdate(const RED::State &iState)=0>`                                                                                                
bool                       :cpp:func:`IsInDestroy <virtual bool RED::IShape::IsInDestroy() const =0>`                                                                                                                   
========================== =============================================================================================================================================================================================

.. cpp:namespace:: nullptr

Detailed Description
====================

.. doxygenclass:: RED::IShape
   :project: RED
   :members:
   :undoc-members:



