xsi_projectitem.h Source File
 
 
 
xsi_projectitem.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSIPROJECTITEM_H__
00018 #define __XSIPROJECTITEM_H__
00019 
00020 #include <xsi_siobject.h>
00021 #include <xsi_value.h>
00022 #include <xsi_parameter.h>
00023 
00024 namespace XSI {
00025 
00026 class Model;
00027 class X3DObject;
00028 class PPGLayout;
00029 class ICEAttribute;
00030 
00031 //*****************************************************************************
00043 //*****************************************************************************
00044 
00045 class SICPPSDKDECL ProjectItem : public SIObject
00046 {
00047 public:
00049         ProjectItem();
00050 
00052         ~ProjectItem();
00053 
00057         ProjectItem(const CRef& in_ref);
00058 
00062         ProjectItem(const ProjectItem& in_obj);
00063 
00068         bool IsA( siClassID in_ClassID) const;
00069 
00073         siClassID GetClassID() const;
00074 
00080         ProjectItem& operator=(const ProjectItem& in_obj);
00081 
00087         ProjectItem& operator=(const CRef& in_ref);
00088 
00092         CString GetFamilies() const;
00093 
00097         siCapabilities GetCapabilities() const;
00098 
00108         CStatus PutCapabilityFlag( siCapabilities in_flag, bool in_bEnable ) ;
00109 
00110 
00117         bool GetSelected
00118         (
00119                 siBranchFlag in_branchFlag = siNode
00120         ) const;
00121 
00130         CStatus PutSelected
00131         (
00132                 bool in_newState,
00133                 siBranchFlag in_branchFlag = siNode
00134         );
00135 
00141         CRefArray GetOwners() const;
00142 
00156         CParameterRefArray& GetParameters() const;
00157 
00162         Model GetModel() const;
00163 
00175         bool IsRelationship(siPSetRelationship in_PSetRelationship) const;
00176 
00182         bool BelongsTo( const CString& in_family) const;
00183 
00184 
00189         bool IsKindOf(const CString& in_objectType) const;
00190 
00201         bool IsAnimated
00202         (
00203                 siSourceType    in_sourceType = siAnySource,
00204                 bool                    in_bLocal = false
00205         ) const;
00206 
00218         CRefArray GetAnimatedParameters
00219         (
00220                 siSourceType    in_sourceType = siAnySource,
00221                 bool                    in_bLocal = false
00222         ) const;
00223 
00229         CRef EvaluateAt( double in_dFrame = DBL_MAX);
00230 
00253         CStatus PutParameterValue( const CString& in_scriptname, bool in_val, double in_time = DBL_MAX );
00254 
00266         CStatus PutParameterValue( const CString& in_scriptname, double in_val, double in_time = DBL_MAX);
00267 
00279         CStatus PutParameterValue( const CString& in_scriptname, float in_val, double in_time = DBL_MAX );
00280 
00292         CStatus PutParameterValue( const CString& in_scriptname, short in_val, double in_time = DBL_MAX );
00293 
00305         CStatus PutParameterValue( const CString& in_scriptname, LONG in_val, double in_time = DBL_MAX );
00306 
00320         CStatus PutParameterValue( const CString& in_scriptname, LLONG in_val, double in_time = DBL_MAX );
00321 
00333         CStatus PutParameterValue( const CString& in_scriptname, const CValue& in_val, double in_time = DBL_MAX );
00334 
00346         CStatus PutParameterValue( const CString& in_scriptname, const CRef& in_val, double in_time = DBL_MAX );
00347 
00359         CStatus PutParameterValue( const CString& in_scriptname, const CString& in_val, double in_time = DBL_MAX );
00360 
00376         CValue GetParameterValue( const CString& in_scriptname, double in_time=DBL_MAX )const;
00377 
00389         Parameter GetParameter( const CString& in_scriptname ) const;
00390 
00396         PPGLayout GetPPGLayout() const ;
00397 
00402         siLockType GetLockType();
00407         siLockLevel GetLockLevel();
00412         bool IsLocked();
00413 
00419         CStatus SetLock(siLockLevel  in_level=siLockLevelAll);
00420 
00427         CStatus UnSetLock(siLockLevel in_level=siLockLevelAll, const CString&in_password=CString() );
00428 
00441         CRefArray GetTaggedParameters
00442         (
00443                 siTags          in_tags = siTagAll,
00444                 bool            in_bLocal = false
00445         ) const;
00446 
00459         CRefArray GetLockOwners
00460         (
00461                 siLockLevel in_eLevel = siLockLevelAll,
00462                 bool            in_bLocal = false
00463         ) const;
00464 
00488         CRef AddScriptedOp(
00489                         const CString& in_code=L"",
00490                         const CRefArray& in_inputs = CRefArray(),
00491                         const CString& in_name=L"",
00492                         const CString& in_language=L"",
00493                         siConstructionMode in_mode = siConstructionModeDefault,
00494                         CStatus* out_pst = 0 );
00495 
00519         CRef AddScriptedOpFromFile( const CString& in_filename = L"", const CRefArray& in_inputs = CRefArray(), const CString& in_name = L"", const CString& in_language = L"", siConstructionMode in_mode = siConstructionModeDefault, CStatus* out_pst = 0 );
00520 
00535         CRef AddCustomOp(
00536                         const CString& in_type,
00537                         const CRefArray& in_inputs = CRefArray(),
00538                         const CString& in_name=L"",
00539                         siConstructionMode in_mode = siConstructionModeDefault,
00540                         CStatus* io_pst = 0 );
00541 
00546         CRefArray GetLockOwners() const;
00547 
00554         X3DObject GetParent3DObject() const;
00555 
00566         siBranchFlag GetBranchFlag() const;
00567 
00573         CRefArray GetICEAttributes() const;
00574 
00727         ICEAttribute GetICEAttributeFromName( const CString& in_name ) const;
00728 
00739         ICEAttribute AddICEAttribute( const CString& in_name, XSI::siICENodeDataType in_DataType, XSI::siICENodeStructureType in_StructureType, XSI::siICENodeContextType in_ContextType );
00740 
00750         CStatus RemoveICEAttribute( const CString& in_name );
00751 
00752 
00758         ULONG GetObjectID( ) const;
00759 
00767         LONG    GetEvaluationID();
00768 
00776         LONG    GetHierarchicalEvaluationID();
00777 
00778         protected:
00779         mutable CParameterRefArray m_paramArray;
00780 
00781         private:
00782         ProjectItem * operator&() const;
00783         ProjectItem * operator&();
00784 
00785 };
00786 
00787 };
00788 
00789 #endif // __XSIPROJECTITEM_H__