📄 maxapi.h
字号:
virtual void SetRendFileNumberBase(int n)=0;
virtual BOOL GetSkipRenderedFrames()=0;
virtual void SetSkipRenderedFrames(BOOL onOff)=0;
virtual DWORD GetHideByCategoryFlags()=0;
virtual void SetHideByCategoryFlags(DWORD f)=0;
virtual int GetViewportLayout()=0;
virtual void SetViewportLayout(int layout)=0;
virtual BOOL IsViewportMaxed()=0;
virtual void SetViewportMax(BOOL max)=0;
// Zoom extents the active viewport, or all
virtual void ViewportZoomExtents(BOOL doAll, BOOL skipPersp=FALSE)=0;
// Gets the world space bounding box of the selection.
virtual void GetSelectionWorldBox(TimeValue t,Box3 &box)=0;
// Find an INode with the given name
virtual INode *GetINodeByName(const TCHAR *name)=0;
// For use with gbuffer BMM_CHAN_NODE_RENDER_ID channel during video post
virtual INode *GetINodeFromRenderID(UWORD id)=0;
// Executes a MAX command. See maxcom.h for available commands
virtual void ExecuteMAXCommand(int id)=0;
// Returns a class used for efficiently creating unique names
virtual NameMaker* NewNameMaker(BOOL initFromScene = TRUE)=0;
// Get set the viewport background color.
virtual void SetViewportBGColor(const Point3 &color)=0;
virtual Point3 GetViewportBGColor()=0;
// Get/Set the environment texture map, ambient light and other effects
virtual Texmap *GetEnvironmentMap()=0;
virtual void SetEnvironmentMap(Texmap *map)=0;
virtual BOOL GetUseEnvironmentMap()=0;
virtual void SetUseEnvironmentMap(BOOL onOff)=0;
virtual Point3 GetAmbient(TimeValue t,Interval &valid)=0;
virtual void SetAmbient(TimeValue t, Point3 col)=0;
virtual Control *GetAmbientController()=0;
virtual void SetAmbientController(Control *c)=0;
virtual Point3 GetLightTint(TimeValue t,Interval &valid)=0;
virtual void SetLightTint(TimeValue t, Point3 col)=0;
virtual Control *GetLightTintController()=0;
virtual void SetLightTintController(Control *c)=0;
virtual float GetLightLevel(TimeValue t,Interval &valid)=0;
virtual void SetLightLevel(TimeValue t, float lev)=0;
virtual Control *GetLightLevelController()=0;
virtual void SetLightLevelController(Control *c)=0;
virtual int NumAtmospheric()=0;
virtual Atmospheric *GetAtmospheric(int i)=0;
virtual void SetAtmospheric(int i,Atmospheric *a)=0;
virtual void AddAtmosphere(Atmospheric *atmos)=0;
virtual void DeleteAtmosphere(int i)=0;
virtual void EditAtmosphere(Atmospheric *a, INode *gizmo=NULL)=0;
virtual int NumEffects()=0;
virtual Effect *GetEffect(int i)=0;
virtual void SetEffect(int i,Effect *e)=0;
virtual void AddEffect(Effect *eff)=0;
virtual void DeleteEffect(int i)=0;
virtual void EditEffect(Effect *e, INode *gizmo=NULL)=0;
virtual Point3 GetBackGround(TimeValue t,Interval &valid)=0;
virtual void SetBackGround(TimeValue t,Point3 col)=0;
virtual Control *GetBackGroundController()=0;
virtual void SetBackGroundController(Control *c)=0;
// Get/Set the current sound object.
virtual SoundObj *GetSoundObject()=0;
virtual void SetSoundObject(SoundObj *snd)=0;
#ifdef _OSNAP
virtual IOsnapManager *GetOsnapManager()=0;
virtual MouseManager *GetMouseManager()=0;
virtual void InvalidateOsnapdraw()=0;
#endif
// Access the current mat lib loaded.
virtual MtlBaseLib& GetMaterialLibrary()=0;
virtual BOOL IsNetServer()=0; // returns 1 iff is network server
//-- GUPSTART
virtual void SetNetServer()=0;
//-- GUPEND
//-- Logging Facilities (Replaces the old NetLog() stuff)
//
// Check log.h for methods
virtual LogSys *Log()=0;
// get ref to the central DLL directory
virtual DllDir& GetDllDir()=0;
// Generic expansion function
virtual int Execute(int cmd, ULONG arg1=0, ULONG arg2=0, ULONG arg3=0)=0;
virtual void *GetInterface(DWORD id)=0;
// Get pointer to the scene.
virtual ReferenceTarget *GetScenePointer()=0;
// Get a pointer to the Track View root node.
virtual ITrackViewNode *GetTrackViewRootNode()=0;
// Free all bitmaps used by the scene
virtual void FreeSceneBitmaps()=0;
// Access the DllDir
virtual DllDir *GetDllDirectory()=0;
// Enumerate Bitmap Files
virtual void EnumAuxFiles(NameEnumCallback& nameEnum, DWORD flags)=0;
// Render a 2D bitmap from a procedural texture
virtual void RenderTexmap(Texmap *tex, Bitmap *bm, float scale3d=1.0f, BOOL filter=FALSE, BOOL display=FALSE, float z=0.0f)=0;
// Activate and deactivate a texture map in the viewports.
// mtl is the TOP LEVEL of the material containing the texture map. If it
// is a Multi-material, then subNum specifies which sub branch of the
// multi contains tx.
CoreExport void DeActivateTexture(Texmap *tx, Mtl *mtl, int subNum=-1);
CoreExport void ActivateTexture(Texmap *tx, Mtl *mtl, int subNum=-1);
// Access to named selection sets at the object level
virtual int GetNumNamedSelSets()=0;
virtual TCHAR *GetNamedSelSetName(int setNum)=0;
virtual int GetNamedSelSetItemCount(int setNum)=0;
virtual INode *GetNamedSelSetItem(int setNum,int i)=0;
virtual void AddNewNamedSelSet(INodeTab &nodes,TSTR &name)=0;
virtual void RemoveNamedSelSet(TSTR &name)=0;
virtual void ReplaceNamedSelSet(INodeTab &nodes,int setNum)=0;
virtual void GetNamedSelSetList(INodeTab &nodes,int setNum)=0;
// Get new material and map names to maintain name uniqueness
virtual void AssignNewName(Mtl *m)=0;
virtual void AssignNewName(Texmap *m)=0;
// rescale world units of entire scene, or selection
virtual void RescaleWorldUnits(float f, BOOL selected)=0;
// Initialize snap info structure with current snap settings
// (Returns zero if snap is OFF)
virtual int InitSnapInfo(SnapInfo *info)=0;
// Time configuration dialog key step options
virtual BOOL GetKeyStepsSelOnly()=0;
virtual void SetKeyStepsSelOnly(BOOL onOff)=0;
virtual BOOL GetKeyStepsUseTrans()=0;
virtual void SetKeyStepsUseTrans(BOOL onOff)=0;
virtual BOOL GetKeyStepsPos()=0;
virtual void SetKeyStepsPos(BOOL onOff)=0;
virtual BOOL GetKeyStepsRot()=0;
virtual void SetKeyStepsRot(BOOL onOff)=0;
virtual BOOL GetKeyStepsScale()=0;
virtual void SetKeyStepsScale(BOOL onOff)=0;
virtual BOOL GetKeyStepsUseTrackBar()=0;
virtual void SetKeyStepsUseTrackBar(BOOL onOff)=0;
// Enables/disables the use of Transform Gizmos
virtual BOOL GetUseTransformGizmo()=0;
virtual void SetUseTransformGizmo(BOOL onOff)=0;
// Get/Set if the TGiz restores the previous axis when released.
virtual void SetTransformGizmoRestoreAxis(BOOL bOnOff)=0;
virtual BOOL GetTransformGizmoRestoreAxis()=0;
// Turn off axis follows transform mode AI.
virtual BOOL GetConstantAxisRestriction()=0;
virtual void SetConstantAxisRestriction(BOOL onOff)=0;
// Used to hittest transform Gizmos for sub-objects
virtual int HitTestTransformGizmo(IPoint2 *p, ViewExp *vpt, int axisFlags) = 0;
// Used to deactiveate the Transform Gizmo when it is released.
virtual void DeactivateTransformGizmo() = 0;
// put up dialog to let user configure the bitmap loading paths.
// returns 1: OK , 0: Cancel.
virtual int ConfigureBitmapPaths()=0;
// Puts up the space array dialog. If the callback is NULL it
// just does the standard space array tool.
// returns TRUE if the user OKs the dialog, FALSE otherwise.
virtual BOOL DoSpaceArrayDialog(SpaceArrayCallback *sacb=NULL)=0;
// dynamically add plugin-class.
// returns -1 if superclass was unknown
// returns 0 if class already exists
// returns 1 if class added successfully
virtual int AddClass(ClassDesc *cd)=0;
// dynamically delete plugin-class.
// returns -1 if superclass was unknown
// returns 0 if class does not exist
// returns 1 if class deleted successfully
virtual int DeleteClass(ClassDesc *cd)=0;
// Number of CommandModes in the command mode stack
virtual int GetCommandStackSize()=0;
// Get the CommandMode at this position in the command mode stack (0 = current)
virtual CommandMode* GetCommandStackEntry(int entry)=0;
// This method should be called in an light's BeginEditParams, after adding rollups
// to the modify panel: it puts up a rollup containing a list of all Atmospherics
// and Effects that use the current selected node as a "gizmo"
virtual void AddSFXRollupPage(ULONG flags=0)=0; // flags are for future use
// This is called in a light's EndEditParams when removing rollups
virtual void DeleteSFXRollupPage()=0;
// This is called by an Atmospheric or Effect when it adds or removes a "gizmo" reference.
virtual void RefreshSFXRollupPage()=0;
// PropertySet access
// Legal values for "int PropertySet" are defined above:
// PROPSET_SUMMARYINFO
// PROPSET_DOCSUMMARYINFO
// PROPSET_USERDEFINED
virtual int GetNumProperties(int PropertySet)=0;
virtual int FindProperty(int PropertySet, const PROPSPEC* propspec)=0;
virtual const PROPVARIANT* GetPropertyVariant(int PropertySet, int idx)=0;
virtual const PROPSPEC* GetPropertySpec(int PropertySet, int idx)=0;
virtual void AddProperty(int PropertySet, const PROPSPEC* propspec, const PROPVARIANT* propvar)=0;
virtual void DeleteProperty(int PropertySet, const PROPSPEC* propspec)=0;
// register a window that can appear in a MAX viewport
virtual BOOL RegisterViewWindow(ViewWindow *vw)=0;
// Get and set the global shadow generator ( used by light.cpp)
virtual ShadowType *GetGlobalShadowGenerator()=0;
virtual void SetGlobalShadowGenerator(ShadowType *st)=0;
// Get the Import zoom-extents flag
virtual BOOL GetImportZoomExtents()=0;
virtual unsigned int HardwareLockID()=0;
virtual BOOL CheckForSave()=0;
virtual ITrackBar* GetTrackBar()=0;
// For scene XRefs. Most of the time the XRef trees (whose root node is a child of the
// client scene's root node) are skipped when traversing the hierarchy. When this option
// is turned on, all root nodes will include child XRef scene root nodes in any traversal
// related functions such as NumberOfChildren() and GetChildNode(i).
//
// This option is turned on automatically before rendering and turned off after so that
// scene XRefs appear in the production renderer. This option should not be left on if
// it is turned on since it would cause scene XRef objects to be accessible to the user in the client scene.
virtual void SetIncludeXRefsInHierarchy(BOOL onOff)=0;
virtual BOOL GetIncludeXRefsInHierarchy()=0;
// Use these two suspend automatic reloading of XRefs.
virtual BOOL IsXRefAutoUpdateSuspended()=0;
virtual void SetXRefAutoUpdateSuspended(BOOL onOff)=0;
// get the macroRecorder interface pointer
virtual MacroRecorder* GetMacroRecorder()=0;
// DS 2/2/99:
virtual void UpdateMtlEditorBrackets()=0;
// PRS 2/4/99
virtual bool IsTrialLicense() = 0;
virtual bool IsNetworkLicense() = 0;
virtual bool IsEmergencyLicense() = 0;
// CCJ - 2/12/99
virtual void SetMAXFileOpenDlg(MAXFileOpenDialog* dlg) = 0;
virtual void SetMAXFileSaveDlg(MAXFileSaveDialog* dlg) = 0;
virtual void RAMPlayer(HWND hWndParent, TCHAR* szChanA=NULL, TCHAR* szChanB=NULL) = 0;
//KAE - 3/4/99
virtual void FlushUndoBuffer() = 0;
// CCJ 3/16/99
virtual bool DeferredPluginLoadingEnabled() = 0;
virtual void EnableDeferredPluginLoading(bool onOff) = 0;
// RB: 3/30/99
virtual BOOL IsSceneXRefNode(INode *node)=0;
}; // class Interface
#ifdef DESIGN_VER
class IAggregation;
class VizInterface : public Interface
{
public:
virtual IAggregation& GetAggregationMgr()= 0;
// MEP 4/19/99
virtual bool CanImportFile(const TCHAR* filename)=0;
virtual bool IsMaxFile(const TCHAR* filename)=0;
virtual bool IsInternetCachedFile(const TCHAR* filename)=0;
// MEP 6/21/99
virtual bool CanImportBitmap(const TCHAR* filename)=0;
};
class IObjParam: public VizInterface{};
#else
class IObjParam: public Interface{};
#endif // DESIGN_VER
class IObjCreate: public IObjParam{};
#endif // __JAGAPI__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -