3ds Max C++ API Reference
ViewExp11 Class Referenceabstract

Extends ViewExp10. More...

#include <maxapi.h>

+ Inheritance diagram for ViewExp11:

Public Member Functions

virtual ~ViewExp11 ()
 Destructor. More...
 
Adaptive Degradation parameters
virtual BOOL IsDegrading ()=0
 Gets whether or not we are in the process of drawing the viewports in an degraded state. More...
 
- Public Member Functions inherited from ViewExp10
virtual ~ViewExp10 ()
 Destructor. More...
 
virtual BOOL SetFOV (float fov)=0
 Sets the Field of View for the viewport. More...
 
virtual float GetViewportFPS ()=0
 Gets the state of the active viewport current fps. More...
 
virtual float GetViewportClipScale ()=0
 Gets the state of the active viewport clip scale value. More...
 
virtual void SetViewportClipScale (float fScale)=0
 Sets the state of the active viewport clip scale value. More...
 
virtual void Pan (const Point2 &screenDelta)=0
 Pans the viewport. More...
 
virtual void Zoom (float zoomFactor)=0
 Zooms the viewport. More...
 
virtual void Rotate (const Quat &rotData, const Point3 &center=Point3::Origin)=0
 Rotates the viewport. More...
 
virtual void SetFocalDistance (float dist)=0
 Sets the focal distance of the viewport. More...
 
virtual bool UndoBegin ()=0
 Call this method before any change to the viewpoint or viewport parameters. More...
 
virtual bool UndoAccept ()=0
 Marks the end of recording viewport changes for undo. More...
 
virtual void Invalidate (bool bForegroundOnly=false)=0
 A call to Interface::RedrawViews will cause the viewport to be redrawn. More...
 
virtual bool IsValid () const =0
 Retrieves the validity state of the viewport foreground. More...
 
virtual float GetAdaptiveDegGoalFPS ()=0
 Gets Adaptive Deg. goal FPS. More...
 
virtual void SetAdaptiveDegGoalFPS (float fFPS)=0
 Sets Adaptive Deg. goal FPS. More...
 
virtual BOOL GetAdaptiveDegDisplayModeCurrent ()=0
 Gets the state of the display mode current display option. More...
 
virtual void SetAdaptiveDegDisplayModeCurrent (BOOL bMode)=0
 Sets the display mode to the current display. More...
 
virtual BOOL GetAdaptiveDegDisplayModeFastShaded ()=0
 Gets the state of the display mode Fast Shaded display option. More...
 
virtual void SetAdaptiveDegDisplayModeFastShaded (BOOL bMode)=0
 Sets the state of the display mode Fast Shaded display option. More...
 
virtual BOOL GetAdaptiveDegDisplayModeWire ()=0
 Gets the state of the display mode Wireframe display option. More...
 
virtual void SetAdaptiveDegDisplayModeWire (BOOL bMode)=0
 Sets the state of the display mode Wireframe display option. More...
 
virtual BOOL GetAdaptiveDegDisplayModeBox ()=0
 Gets the state of the display mode BoundingBox display option. More...
 
virtual void SetAdaptiveDegDisplayModeBox (BOOL bMode)=0
 Sets the state of the display mode BoundingBox display option. More...
 
virtual BOOL GetAdaptiveDegDisplayModePoint ()=0
 Gets the state of the display mode Point display option. More...
 
virtual void SetAdaptiveDegDisplayModePoint (BOOL bMode)=0
 Sets the state of the display mode Point display option. More...
 
virtual BOOL GetAdaptiveDegDisplayModeHide ()=0
 Gets the state of the display mode Hide display option. More...
 
virtual void SetAdaptiveDegDisplayModeHide (BOOL bMode)=0
 Sets the state of the display mode Hide display option. More...
 
virtual BOOL GetAdaptiveDegDrawBackface ()=0
 Gets the state of the Draw Backface option. More...
 
virtual void SetAdaptiveDegDrawBackface (BOOL bDraw)=0
 Sets the state of the Draw Backface option. More...
 
virtual BOOL GetAdaptiveDegNeverDegradeSelected ()=0
 Gets the state of the Never Degrade Selected option. More...
 
virtual void SetAdaptiveDegNeverDegradeSelected (BOOL bNeverDegrade)=0
 Sets the state of the Never Degrade Selected option. More...
 
virtual BOOL GetAdaptiveDegDegradeLight ()=0
 Gets the state of the Degrade to Default Light option. More...
 
virtual void SetAdaptiveDegDegradeLight (BOOL bDegradeLight)=0
 Sets the state of the Degrade to Default Light option. More...
 
virtual BOOL GetAdaptiveDegNeverRedrawAfterDegrade ()=0
 Gets the state of the Never Redraw After Degrade option. More...
 
virtual void SetAdaptiveDegNeverRedrawAfterDegrade (BOOL bNeverRedraw)=0
 Sets the state of the Never Redraw After Degrade option. More...
 
virtual float GetAdaptiveDegCameraDistancePriority ()=0
 Gets the state of the Distance From Camera Priority option. More...
 
virtual void SetAdaptiveDegCameraDistancePriority (float fPriority)=0
 Sets the state of the Distance From Camera Priority option. More...
 
virtual float GetAdaptiveDegScreenSizePriority ()=0
 Gets the state of the Screen Size Priority option. More...
 
virtual void SetAdaptiveDegScreenSizePriority (float fPriority)=0
 Sets the state of the Screen Size Priority option. More...
 
virtual int GetAdaptiveDegMinSize ()=0
 Gets the state of the Minimum Draw Size option. More...
 
virtual void SetAdaptiveDegMinSize (int iMinSize)=0
 Sets the state of the Minimum Draw Size option. More...
 
- Public Member Functions inherited from ViewExp
virtual int GetViewID ()=0
 Return the unique ID of the viewport represented by the ViewExp. More...
 
virtual ViewExpToPointer ()=0
 
virtual bool IsAlive ()=0
 
virtual Point2 MapViewToScreen (const Point3 &p)=0
 
virtual float GetFPS ()=0
 Get the FPS from the active viewport. More...
 
virtual void SetSolidBackgroundColorMode (bool bSolidColor)=0
 Set the viewport background color mode as solid color mode or gradient color mode. More...
 
virtual bool IsSolidBackgroundColorMode ()=0
 Get the current viewport background color mode. More...
 
virtual void ResetBackgroundColorMode ()=0
 Reset viewport background color mode. More...
 
virtual void InvalidateRect (const Rect &rect)=0
 
virtual INT_PTR Execute (int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0)
 
virtual Point3 GetPointOnCP (const IPoint2 &ps)=0
 
virtual float GetCPDisp (const Point3 base, const Point3 &dir, const IPoint2 &sp1, const IPoint2 &sp2, BOOL snap=FALSE)=0
 
virtual Point3 MapScreenToView (IPoint2 &sp, float depth)=0
 
virtual void MapScreenToWorldRay (float sx, float sy, Ray &ray)=0
 
virtual BOOL SetAffineTM (const Matrix3 &m)=0
 
virtual void GetAffineTM (Matrix3 &tm)=0
 
virtual float GetScreenScaleFactor (const Point3 worldPoint)=0
 
virtual float GetVPWorldWidth (const Point3 wPoint)=0
 
virtual Point3 MapCPToWorld (const Point3 cpPoint)=0
 
virtual float NonScalingObjectSize ()=0
 
virtual Point3 SnapPoint (const IPoint2 &in, IPoint2 &out, Matrix3 *plane2d=NULL, DWORD flags=0)=0
 
virtual void SnapPreview (const IPoint2 &in, IPoint2 &out, Matrix3 *plane2d=NULL, DWORD flags=0)=0
 
virtual void GetGridDims (float *MinX, float *MaxX, float *MinY, float *MaxY)=0
 
virtual float SnapLength (float in)=0
 
virtual GraphicsWindowgetGW ()=0
 
virtual int IsWire ()=0
 
virtual Rect GetDammageRect ()=0
 
virtual void GetConstructionTM (Matrix3 &tm)=0
 
virtual void SetGridSize (float size)=0
 
virtual float GetGridSize ()=0
 
virtual BOOL IsGridVisible ()=0
 
virtual void SetGridVisibility (BOOL bVisible)=0
 
virtual int GetGridType ()=0
 
virtual BOOL setBkgImageDsp (BOOL onOff)=0
 
virtual int getBkgImageDsp (void)=0
 
virtual void setSFDisplay (int onOff)=0
 
virtual int getSFDisplay (void)=0
 
virtual HWND GetHWnd ()=0
 
virtual BOOL IsActive ()=0
 
virtual BOOL IsEnabled ()=0
 
virtual int GetViewType ()=0
 
virtual BOOL IsPerspView ()=0
 
virtual BOOL IsCanvasNavigationMode ()=0
 
virtual float GetFOV ()=0
 
virtual float GetFocalDist ()=0
 
virtual void SetFocalDist (float fd)=0
 
virtual INodeGetViewCamera ()=0
 
virtual void SetViewCamera (INode *camNode)=0
 
virtual void SetViewUser (BOOL persp)=0
 
virtual INodeGetViewSpot ()=0
 
virtual void SetViewSpot (INode *spotNode)=0
 
virtual void ClearHitList ()=0
 
virtual INodeGetClosestHit ()=0
 
virtual INodeGetHit (int i)=0
 
virtual int HitCount ()=0
 
virtual void LogHit (INode *nr, ModContext *mc, DWORD dist, ulong info, HitData *hitdata=NULL)=0
 This method records a sub-object level hit record with the system using the specified parameters. More...
 
virtual HitLogGetSubObjHitList ()=0
 
virtual void ClearSubObjHitList ()=0
 
virtual int NumSubObjHits ()=0
 
virtual void CtrlLogHit (INode *nr, DWORD dist, ulong info, DWORD infoExtra)=0
 
virtual CtrlHitLogGetCtrlHitList ()=0
 
virtual void ClearCtrlHitList ()=0
 
virtual void TrackImplicitGrid (IPoint2 m, Matrix3 *mat=NULL, ULONG hitTestFlags=0)=0
 
virtual void CommitImplicitGrid (IPoint2 m, int mouseflags, Matrix3 *mat=NULL)=0
 
virtual void ReleaseImplicitGrid ()=0
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
virtual UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from ViewExp
enum  { kEXECUTE_GET_VIEWEXP_10 = 0 , kEXECUTE_GET_VIEWPORT_ID = 1 , kEXECUTE_GET_VIEWEXP_11 = 2 , kEXECUTE_GET_VIEWEXP_13 = 3 }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

Extends ViewExp10.

The following code example shows how to get access to this interface:

// hWnd is the handle of a viewport window. This is passed to MouseCallback::proc
ViewExp& vp = ip->GetViewExp(hWnd);
ViewExp11* vp11 = NULL;
if (vp.IsAlive())
vp11 = reinterpret_cast<ViewExp11*>(vp.Execute(ViewExp::kEXECUTE_GET_VIEWEXP_11));
#define NULL
Definition: autoptr.h:18
Extends ViewExp10.
Definition: maxapi.h:1623
Definition: maxapi.h:768
virtual bool IsAlive()=0
virtual INT_PTR Execute(int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0)
Definition: maxapi.h:1352
@ kEXECUTE_GET_VIEWEXP_11
Command id to be passed to ViewExp::Execute in order to get the viewport's ViewExp11 interface.
Definition: maxapi.h:1368

Constructor & Destructor Documentation

◆ ~ViewExp11()

virtual ~ViewExp11 ( )
inlinevirtual

Destructor.

1626 { }

Member Function Documentation

◆ IsDegrading()

virtual BOOL IsDegrading ( )
pure virtual

Gets whether or not we are in the process of drawing the viewports in an degraded state.

Gets whether or not we are drawing the viewports in an degraded state. This flag thus can be queried when an object is displaying itself and wants to do any custom drawing when adaptive degradation is occurring.