xsi_model.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00013 #pragma once
00014 #endif
00015 
00016 #ifndef __XSIMODEL_H__
00017 #define __XSIMODEL_H__
00018 
00019 #include <xsi_x3dobject.h>
00020 
00021 namespace XSI {
00022 
00023 class Group;
00024 class Material;
00025 class ActionSource;
00026 class Mixer;
00027 
00028 //*****************************************************************************
00071 //*****************************************************************************
00072 class SICPPSDKDECL Model : public X3DObject
00073 {
00074 public:
00076     Model();
00077 
00079     ~Model();
00080 
00084     Model(const CRef& in_ref);
00085 
00089     Model(const Model& in_obj);
00090 
00095     bool IsA( siClassID in_ClassID) const;
00096 
00100     siClassID GetClassID() const;
00101 
00107     Model& operator=(const Model& in_obj);
00108 
00114     Model& operator=(const CRef& in_ref);
00115 
00119     CRefArray   GetGroups() const;
00120 
00276     CRefArray   GetSources() const;
00277 
00288     CStatus AddGroup
00289     (
00290         const CRefArray&    in_members,
00291         const CString&      in_name,
00292         bool                in_branch,
00293         Group&              io_group
00294     );
00295 
00301     Mixer   GetMixer() const;
00302 
00307     bool  HasMixer() const;
00308 
00320     ActionSource AddActionSource(const CString& in_name = CString());
00321 
00327     Mixer AddMixer();
00328 
00333     CRefArray GetExternalFiles() const;
00334 
00339     XSI::siModelKind GetModelKind() const;
00340 
00347     Model GetInstanceMaster() const;
00348 
00406     CSIObjectRefArray FindObjects( const XSI::siClassID& in_nClsID ) const;
00407 
00432     CSIObjectRefArray FindObjects( const CString& in_sCLSID ) const;
00433 
00434     private:
00435     Model * operator&() const;
00436     Model * operator&();
00437 };
00438 
00439 }
00440 
00441 #endif // __XSIMODEL_H__