maxtypes.h File Reference
 
 
 
maxtypes.h File Reference

This reference page is linked to from the following overview topics: Plug-in Identification, Retrieving Mesh Strip Data, Class Descriptors, Implementing Advanced Material and Texture Map Plug-ins with Nitrous, Lesson 5: Geometric Objects, Lesson 4: Animation Controllers, Node Transformation Matrix, Overview: Time and Intervals, Emulating Reset Transform and Reset Scale, Converting Objects to Compatible Types, Displaying the Object in the Viewport, Thread Safety, Creating a Patch, Creating a Spline, Patch Code Example, Sub-Object Coordinate Systems, Incremental Improvements, Processing Controls not Managed by the Parameter Map, Porting Object Plug-ins to Nitrous, Creating and Retrieving 3ds Max NURBS Objects, Ring Array Slave and Master Controllers, Creating Primitive NURBS Objects, Cache Validity Intervals, RTTI and GetInterface(), Undo and Redo in a Controller, World Space Modifiers and Object Transformations, How Objects are Drawn in the Viewport, Property Accessors, Parameter Blocks, SDK Change Details, Editing Material and Texture Parameters, Accessing Material Properties, Getting and Setting Parameter Block Values, Material Modifiers, Monitoring Parameter Changes, IK Solvers, Selection Modifiers, Procedural Controller Data Access, Simple Modifiers, Topology Modifiers, Time Functions, Whole Object Modifiers, Mapping Coordinate Modifiers, Plug-in Display Interface, Validity Intervals, Modifier Stack Branching, Programmatic Object Creation, Gizmo Hit Testing using PolyLines, Adding Modifiers to Objects, Dialog Based Creation of Objects, About RenderItem, SuperClassID Cleanup, Implementing Simple Material and Texture Map Plug-ins with Nitrous, Using the Physique Export Interface.


#include "maxheap.h"
#include "WindowsDefines.h"

Classes

struct   Color24
  8 bits for each of the Red, Green and Blue components. More...
struct   Color48
  16 bits for each of the Red, Green and Blue components. More...
struct   Color64
  16 bits for each of the Red, Green, Blue, and Alpha components. More...
struct   BMM_Color_24
  24 bit color: 8 bits each for Red, Green, and Blue. More...
struct   BMM_Color_32
  32 bit color: 8 bits each for Red, Green, Blue, and Alpha. More...
struct   BMM_Color_48
  48 bit color: 16 bits each for Red, Green, and Blue. More...
struct   BMM_Color_64
  64 bit color: 16 bits each for Red, Green, Blue, and Alpha. More...
struct   BMM_Color_fl
  High Dynamic Range bitmaps make use of this class to store color information using floating point values. More...
class   Class_ID
class   Interface_ID

Defines

#define  TIME_TICKSPERSEC   4800
#define  TicksToSec(ticks)   ((float)(ticks)/(float)TIME_TICKSPERSEC)
#define  SecToTicks(secs)   ((TimeValue)(secs*TIME_TICKSPERSEC))
#define  TicksSecToTime(ticks, secs)   ( (TimeValue)(ticks)+SecToTicks(secs) )
#define  TimeToTicksSec(time, ticks, secs)   { (ticks) = (time)%TIME_TICKSPERSEC; (secs) = (time)/TIME_TICKSPERSEC ; }
#define  TIME_PosInfinity   TimeValue(0x7fffffff)
#define  TIME_NegInfinity   TimeValue(0x80000000)

Typedefs

typedef unsigned long  ulong
typedef unsigned char  uchar
typedef uchar  UBYTE
typedef unsigned short  UWORD
typedef unsigned short  MtlID
typedef int  TimeValue
typedef ULONG  SClass_ID

Enumerations

enum   IOResult { IO_OK = 0, IO_END = 1, IO_ERROR = 2, IO_INTERRUPT = 3 }
enum   ChunkType { NEW_CHUNK = 0, CONTAINER_CHUNK = 1, DATA_CHUNK = 2 }
enum   FileIOType { IOTYPE_MAX = 0, IOTYPE_MATLIB = 1, IOTYPE_RENDER_PRESETS = 2 }
enum   ProductVersionType {
  PRODUCT_VERSION_DEVEL, PRODUCT_VERSION_TRIAL, PRODUCT_VERSION_ORDINARY, PRODUCT_VERSION_EDU,
  PRODUCT_VERSION_NFR, PRODUCT_VERSION_EMR
}
  Product Licensing Type. More...
enum   LockBehaviorType { LICENSE_BEHAVIOR_PERMANENT, LICENSE_BEHAVIOR_EXTENDABLE, LICENSE_BEHAVIOR_NONEXTENDABLE, LICENSE_BEHAVIOR_BORROWED }
  Product license behavior. More...

Define Documentation

#define TIME_TICKSPERSEC   4800
#define TicksToSec (   ticks )    ((float)(ticks)/(float)TIME_TICKSPERSEC)
#define SecToTicks (   secs )    ((TimeValue)(secs*TIME_TICKSPERSEC))
#define TicksSecToTime (   ticks,
  secs 
)    ( (TimeValue)(ticks)+SecToTicks(secs) )
#define TimeToTicksSec (   time,
  ticks,
  secs 
)    { (ticks) = (time)%TIME_TICKSPERSEC; (secs) = (time)/TIME_TICKSPERSEC ; }
#define TIME_PosInfinity   TimeValue(0x7fffffff)
#define TIME_NegInfinity   TimeValue(0x80000000)

Typedef Documentation

typedef unsigned long ulong
typedef unsigned char uchar
typedef unsigned short UWORD
typedef unsigned short MtlID

Enumeration Type Documentation

enum FileIOType
Enumerator:
IOTYPE_MAX 

File IO concerns a scene file (.max, .viz).

See NOTIFY_FILE_PRE_OPEN, NOTIFY_FILE_POST_OPEN

IOTYPE_MATLIB 

File IO concerns a material library file (.mat).

See NOTIFY_FILE_PRE_OPEN, NOTIFY_FILE_POST_OPEN

IOTYPE_RENDER_PRESETS 

File IO concerns a render preset file (.rps).

See NOTIFY_FILE_PRE_OPEN, NOTIFY_FILE_POST_OPEN

Product Licensing Type.

Enumerator:
PRODUCT_VERSION_DEVEL 
PRODUCT_VERSION_TRIAL 
PRODUCT_VERSION_ORDINARY 
PRODUCT_VERSION_EDU 
PRODUCT_VERSION_NFR 
PRODUCT_VERSION_EMR 

Product license behavior.

Enumerator:
LICENSE_BEHAVIOR_PERMANENT 
LICENSE_BEHAVIOR_EXTENDABLE 
LICENSE_BEHAVIOR_NONEXTENDABLE 
LICENSE_BEHAVIOR_BORROWED