3ds Max C++ API Reference
ICamera Class Referenceabstract

The interface of a render camera for nitrous viewport. More...

#include <ICamera.h>

+ Inheritance diagram for ICamera:

Public Member Functions

virtual void SetViewMatrix (const Matrix44 &viewMatrix)=0
 Set the view matrix of this camera. More...
 
virtual const Matrix44GetViewMatrix () const =0
 Get the view matrix of the camera. More...
 
virtual void SetProjectionMatrix (const Matrix44 &projectionMatrix)=0
 Set the projection matrix of this camera. More...
 
virtual const Matrix44GetProjectionMatrix () const =0
 Get the projection matrix of this camera. More...
 
virtual void SetTargetDistance (float targetDistance)=0
 Set the target distance for this camera. More...
 
virtual float GetTargetDistance () const =0
 Get the target distance of this camera. More...
 
virtual const Point3GetPosition () const =0
 Get the position of this camera. More...
 
virtual const Point3GetUp () const =0
 Get the up vector of this camera. More...
 
virtual const Point3GetDirection () const =0
 Get the direction of this camera. More...
 
virtual bool IsPerspective () const =0
 Is the projection matrix used by a perspective viewport or not. More...
 
- Public Member Functions inherited from ARefObject
GraphicsUtilityAPI ARefObject ()
 
virtual GraphicsUtilityAPI long AddRef ()
 from IRefObject, see comments in IRefObject More...
 
virtual GraphicsUtilityAPI long Release ()
 decrease reference count of this object by one, if the decreased reference count equals zero, the object will be deleted. More...
 
GraphicsUtilityAPI IRefObjectQueryInterface (Interface_ID classID)
 Try query an interface from the ref object using a given interface id. More...
 
- Public Member Functions inherited from IRefObject
GraphicsUtilityAPI IRefObject ()
 
virtual GraphicsUtilityAPI ~IRefObject ()
 

Static Public Member Functions

static GraphicsDriverAPI RefPtr< ICameraCreate ()
 Create a new ICamera object. More...
 
- 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...
 

Additional Inherited Members

- Protected Member Functions inherited from ARefObject
virtual GraphicsUtilityAPI void DeleteThis ()
 This function will be called when the reference count of an ARefObject equals zero. More...
 
virtual GraphicsUtilityAPI ~ARefObject ()
 

Detailed Description

The interface of a render camera for nitrous viewport.

ICamera would be required by CustomRenderStageHandle as the render camera for a custom render stage.

See also
CustomRenderStageHandle

Member Function Documentation

◆ Create()

static GraphicsDriverAPI RefPtr<ICamera> Create ( )
static

Create a new ICamera object.

Returns
a new ICamera object created

◆ SetViewMatrix()

virtual void SetViewMatrix ( const Matrix44 viewMatrix)
pure virtual

Set the view matrix of this camera.

Parameters
[in]viewMatrixthe view matrix

◆ GetViewMatrix()

virtual const Matrix44& GetViewMatrix ( ) const
pure virtual

Get the view matrix of the camera.

Returns
the view matrix of the camera

◆ SetProjectionMatrix()

virtual void SetProjectionMatrix ( const Matrix44 projectionMatrix)
pure virtual

Set the projection matrix of this camera.

Parameters
[in]projectionMatrixthe projection matrix

◆ GetProjectionMatrix()

virtual const Matrix44& GetProjectionMatrix ( ) const
pure virtual

Get the projection matrix of this camera.

Returns
the projection matrix of this camera

◆ SetTargetDistance()

virtual void SetTargetDistance ( float  targetDistance)
pure virtual

Set the target distance for this camera.

Parameters
[in]targetDistancethe target distance

◆ GetTargetDistance()

virtual float GetTargetDistance ( ) const
pure virtual

Get the target distance of this camera.

Returns
the target distance of this camera

◆ GetPosition()

virtual const Point3& GetPosition ( ) const
pure virtual

Get the position of this camera.

Returns
the position of this camera

◆ GetUp()

virtual const Point3& GetUp ( ) const
pure virtual

Get the up vector of this camera.

Returns
the up vector of this camera

◆ GetDirection()

virtual const Point3& GetDirection ( ) const
pure virtual

Get the direction of this camera.

Returns
the direction of this camera

◆ IsPerspective()

virtual bool IsPerspective ( ) const
pure virtual

Is the projection matrix used by a perspective viewport or not.

Returns
true if the projection matrix is used by a perspective viewport or false otherwise