3ds Max C++ API Reference
Loading...
Searching...
No Matches
IPViewManager.h

Functions

virtual bool OpenParticleView (Object *engine)=0
 Opens ParticleView for a given PFEngine.
virtual IParticleView * GetActiveParticleView ()=0
 Returns the ParticleView which is currently open and shown in PView.
virtual bool UpdateParticleViews (bool additionsOnly=false)=0
 If nothing was delete from PView then additionsOnly is set to true.
virtual bool PreUpdateParticleViews (bool additionsOnly=false)=0
 If procedures between Pre.
virtual bool PostUpdateParticleViews (bool additionsOnly=false)=0
 If procedures between Pre.
virtual bool CancelUpdateParticleViews ()=0
 Not supported for maxscript.
virtual bool UpdateOnHold ()=0
 Return true when in between PreUpdate and PostUpdate.
virtual void UpdateParticleAmountShown ()
 Updates particle amount shown in PViews.
virtual void ActionProceedBegin (INode *actionNode)
 Shows that an action starts the proceed.
virtual void ActionProceedEnd (INode *actionNode)
 Shows that an action ends the proceed.
virtual bool IsParticleViewInForeground ()
 Check if any ParticleView is a foreground window.
static PFExport int NumActionClasses ()
 Public classes only.
static PFExport ClassDescActionClass (int index)
static PFExport const MCHARActionName (int index)
static PFExport int NumPViewItemClasses ()
 Public classes only.
static PFExport ClassDescPViewItemClass (int index)
static PFExport const MCHARPViewItemName (int index)
virtual bool ParticleViewOpenCloseToggle ()=0
 Used for CUI shortcuts.
virtual bool ParticleFlowActivationToggle (bool selectedOnly=false)=0
 Used for CUI shortcuts.
virtual int GetVacantSpace ()=0
 Returns X coordinate of half-plane of space free from any PF item.
virtual void KeepMaterial (Mtl *mtl)=0
 The method is used to prevent automatic removal of non-used materials from the scene.
static PFExport void RegisterModule (Class_ID moduleID)
 The method is used by a PFlow module to register itself with the system.
static PFExport bool IsModuleRegistered (Class_ID moduleID)
 Returns true if a PFlow module was registered.
FPInterfaceDescGetDesc ()
PFExport IPViewManager ()
virtual PFExport ~IPViewManager ()
virtual void releaseManager ()=0

Variables

static bool m_InGetPViewManager
static IPViewManagerm_manager
static Tab< ClassEntry * > m_actionClasses
static Tab< ClassEntry * > m_pViewItemClasses
static Tab< Class_IDm_registeredModules

Friends

PFExport IPViewManagerGetPViewManager ()
 friend PFExport void ReleasePViewManager();
PFExport void ReleasePViewManager ()

Detailed Description

Function Documentation

◆ OpenParticleView()

virtual bool OpenParticleView ( Object * engine)
pure virtual

Opens ParticleView for a given PFEngine.

If there are several ParticleViews with the given PFEngine, a dialog pops up to make a choice.

Parameters
enginePFEngine to open particle view for

◆ GetActiveParticleView()

virtual IParticleView * GetActiveParticleView ( )
pure virtual

Returns the ParticleView which is currently open and shown in PView.

◆ UpdateParticleViews()

virtual bool UpdateParticleViews ( bool additionsOnly = false)
pure virtual

If nothing was delete from PView then additionsOnly is set to true.

◆ PreUpdateParticleViews()

virtual bool PreUpdateParticleViews ( bool additionsOnly = false)
pure virtual

If procedures between Pre.

. and Post.. involve additions of new items only then set "additionsOnly" to "true". The rollup panel won't be updated.

◆ PostUpdateParticleViews()

virtual bool PostUpdateParticleViews ( bool additionsOnly = false)
pure virtual

If procedures between Pre.

. and Post.. involve additions of new items only then set "additionsOnly" to "true". The rollup panel won't be updated.

◆ CancelUpdateParticleViews()

virtual bool CancelUpdateParticleViews ( )
pure virtual

Not supported for maxscript.

◆ UpdateOnHold()

virtual bool UpdateOnHold ( )
pure virtual

Return true when in between PreUpdate and PostUpdate.

◆ UpdateParticleAmountShown()

virtual void UpdateParticleAmountShown ( )
inlinevirtual

Updates particle amount shown in PViews.

114{ ; }

◆ ActionProceedBegin()

virtual void ActionProceedBegin ( INode * actionNode)
inlinevirtual

Shows that an action starts the proceed.

121{ ; }

◆ ActionProceedEnd()

virtual void ActionProceedEnd ( INode * actionNode)
inlinevirtual

Shows that an action ends the proceed.

126{ ; }

◆ IsParticleViewInForeground()

virtual bool IsParticleViewInForeground ( )
inlinevirtual

Check if any ParticleView is a foreground window.

131{ return false; }

◆ NumActionClasses()

PFExport int NumActionClasses ( )
static

Public classes only.

◆ ActionClass()

PFExport ClassDesc * ActionClass ( int index)
static

◆ ActionName()

PFExport const MCHAR * ActionName ( int index)
static

◆ NumPViewItemClasses()

PFExport int NumPViewItemClasses ( )
static

Public classes only.

◆ PViewItemClass()

PFExport ClassDesc * PViewItemClass ( int index)
static

◆ PViewItemName()

PFExport const MCHAR * PViewItemName ( int index)
static

◆ ParticleViewOpenCloseToggle()

virtual bool ParticleViewOpenCloseToggle ( )
pure virtual

Used for CUI shortcuts.

◆ ParticleFlowActivationToggle()

virtual bool ParticleFlowActivationToggle ( bool selectedOnly = false)
pure virtual

Used for CUI shortcuts.

◆ GetVacantSpace()

virtual int GetVacantSpace ( )
pure virtual

Returns X coordinate of half-plane of space free from any PF item.

The method is usually used to calculate (x,y) location of newly created PF systems.

◆ KeepMaterial()

virtual void KeepMaterial ( Mtl * mtl)
pure virtual

The method is used to prevent automatic removal of non-used materials from the scene.

The method is used by Shape Instance operator. The operator creates combined materials on-the-fly to be assigned to particles. When the reference object for the operator is changed, the material is changed. The old material could be deleted because it doesn't have any more references in the scene. This may create a problem for undo/redo operations. To prevent that this method creates a reference dependency between PViewManager and the Material. Since PViewManager is not saved with the scene, the materials won't be saved either.

◆ RegisterModule()

PFExport void RegisterModule ( Class_ID moduleID)
static

The method is used by a PFlow module to register itself with the system.

This way other PFlow modules can query whether a specific module is present/loaded with the system and act accordingly. Once a module is registered, it cannot be unregistered.

◆ IsModuleRegistered()

PFExport bool IsModuleRegistered ( Class_ID moduleID)
static

Returns true if a PFlow module was registered.

◆ GetDesc()

FPInterfaceDesc * GetDesc ( )
inlinevirtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

#define PVIEWMANAGER_INTERFACE
Definition IPViewManager.h:26
virtual FPInterfaceDesc * GetDescByID(Interface_ID id)
Definition ifnpub.h:619

◆ IPViewManager()

PFExport IPViewManager ( )
protected

◆ ~IPViewManager()

virtual PFExport ~IPViewManager ( )
protectedvirtual

◆ releaseManager()

virtual void releaseManager ( )
protectedpure virtual

Variable Documentation

◆ m_InGetPViewManager

bool m_InGetPViewManager
staticprotected

◆ m_manager

IPViewManager* m_manager
staticprotected

◆ m_actionClasses

Tab<ClassEntry*> m_actionClasses
staticprotected

◆ m_pViewItemClasses

Tab<ClassEntry*> m_pViewItemClasses
staticprotected

◆ m_registeredModules

Tab<Class_ID> m_registeredModules
staticprotected

Friends

◆ GetPViewManager

PFExport IPViewManager * GetPViewManager ( )
friend

friend PFExport void ReleasePViewManager();

Friend function declarations

◆ ReleasePViewManager

PFExport void ReleasePViewManager ( )
friend