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__