Classes | Namespaces | Defines | Enumerations | Functions

istdplug.h File Reference

This reference page is linked to from the following overview topics: SDK Change Details.


#include "maxheap.h"
#include "iFnPub.h"
#include "units.h"
#include "BuildWarnings.h"
#include "assetmanagement\assetUser.h"
#include "object.h"
#include "quat.h"
#include "control.h"
#include "ipoint3.h"
#include "namesel.h"

Go to the source code of this file.

Classes

class   ITextObject
class   IKey
class   ITCBKey
class   ITCBFloatKey
class   ITCBPoint4Key
class   ITCBPoint3Key
class   ITCBRotKey
class   ITCBScaleKey
class   IBezFloatKey
class   IBezPoint3Key
class   IBezQuatKey
class   IBezScaleKey
class   IBezPoint4Key
class   IBezPoint2Key
class   ILinFloatKey
class   ILinPoint3Key
class   ILinRotKey
class   ILinScaleKey
class   IBoolFloatKey
class   IKeyProperty
  Interface to the Key Property. More...
class   IIKKeyProp
  Interface to the IK Key Property. More...
class   ISetIKKeyProp
  This is a helper class. More...
class   IKeyControl
class   IKeyControl2
  Extend IKeyControl to include interfaces to IKeyProperty. More...
class   AnyKey
class   IRotWindup
class   IAdjustMultipleTangents
class   ISoftSelect
class   ObjectDataReaderCallback
class   IWaveSound
  SeeAlso: Class Interface. More...
class   IBoolObject
class   IPathPosition
class   IPosConstPosition
class   IOrientConstRotation
class   ILookAtConstRotation
class   INoiseControl
class   ISurfPosition
class   ILinkCtrl
class   ILookatControl
class   IBoolCntrl
class   ILookatControl_Extension
class   IListControl
  IListControl provides API access to list control functionality. More...
class   ISplineIKControl
  This class is only available in release 5 or later. More...
class   ISplineIKControl2
class   IFFDMod< T >
class   IMeshSelect
class   IMeshSelectData
class   ISplineSelect
class   ISplineSelectData
class   ISplineOps
class   IPatchSelect
class   IPatchSelectData
class   IPatchOps
class   IAssignVertexColors
  The IAssignVertexColors is a static interface to the Assign Vertex Color utility. More...
class   IAssignVertexColors::Options
  The options used when calculating the vertex colors. More...
class   IAssignVertexColors_R7
  This class extends IAssignVertexColors to include more options. More...
class   IAssignVertexColors_R7::Options2
  The options used when calculating the vertex colors. More...
class   IVertexPaint
  The IVertexPaint interface provides a way to set the vertex colors held in a VertexPaint modifier. More...
struct   IVertexPaint::FaceColor
class   IVertexPaint_R7
class   ITimeSlider
  This class represents the interface for the time slider. More...
class   IStatusPanel
class   IBitmapIO_Bmp
  This class represents the interface for the Bitmap IO BMP format. More...
class   IBitmapIO_Jpeg
class   IBitmapIO_Png
class   IBitmapIO_Tga
class   IBitmapIO_RLA
  The IBitmapIO_RLA class expands upon the previous IBitmapIO classes. More...
class   IBitmapIO_Rgb
class   IUnReplaceableControl
  Basically it's a backwards-compatabile fix for the fact that the 'IsReplaceable' control flag isn't used by PB2's. Secondly the class provides. More...
class   IEulerControl
  IEulerControl is an interface for euler controllers so we can get/set their xyz ordering. More...
class   IAttachCtrl
  IAttachCtrl is an interface for getting/setting properties on the Attach controller. More...
class   ISystemXRef
  Interface for interactions between 'systems', in particular biped, and the max xref core. More...

Namespaces

namespace   LightingModel

Defines

#define  ARC_RADIUS   0
#define  ARC_FROM   1
#define  ARC_TO   2
#define  ARC_PIE   3
#define  ARC_REVERSE   4
#define  BOXOBJ_LENGTH   0
#define  BOXOBJ_WIDTH   1
#define  BOXOBJ_HEIGHT   2
#define  BOXOBJ_WSEGS   3
#define  BOXOBJ_LSEGS   4
#define  BOXOBJ_HSEGS   5
#define  BOXOBJ_GENUVS   6
#define  CIRCLE_RADIUS   0
#define  CONE_RADIUS1   0
#define  CONE_RADIUS2   1
#define  CONE_HEIGHT   2
#define  CONE_SEGMENTS   3
#define  CONE_CAPSEGMENTS   4
#define  CONE_SIDES   5
#define  CONE_SMOOTH   6
#define  CONE_SLICEON   7
#define  CONE_PIESLICE1   8
#define  CONE_PIESLICE2   9
#define  CONE_GENUVS   10
#define  CYLINDER_RADIUS   0
#define  CYLINDER_HEIGHT   1
#define  CYLINDER_SEGMENTS   2
#define  CYLINDER_CAPSEGMENTS   3
#define  CYLINDER_SIDES   4
#define  CYLINDER_SMOOTH   5
#define  CYLINDER_SLICEON   6
#define  CYLINDER_PIESLICE1   7
#define  CYLINDER_PIESLICE2   8
#define  CYLINDER_GENUVS   9
#define  DONUT_RADIUS1   0
#define  DONUT_RADIUS2   1
#define  ELLIPSE_LENGTH   0
#define  ELLIPSE_WIDTH   1
#define  HEDRA_RADIUS   0
#define  HEDRA_FAMILY   1
#define  HEDRA_P   2
#define  HEDRA_Q   3
#define  HEDRA_SCALEP   4
#define  HEDRA_SCALEQ   5
#define  HEDRA_SCALER   6
#define  HEDRA_VERTS   7
#define  HEDRA_GENUVS   8
#define  HELIX_RADIUS1   0
#define  HELIX_RADIUS2   1
#define  HELIX_HEIGHT   2
#define  HELIX_TURNS   3
#define  HELIX_BIAS   4
#define  HELIX_DIRECTION   5
#define  NGON_RADIUS   0
#define  NGON_SIDES   1
#define  NGON_CIRCULAR   2
#define  PATCHGRID_LENGTH   0
#define  PATCHGRID_WIDTH   1
#define  PATCHGRID_WSEGS   2
#define  PATCHGRID_LSEGS   3
#define  PATCHGRID_TEXTURE   4
#define  RSPART_VPTPARTICLES   0
#define  RSPART_RNDPARTICLES   1
#define  RSPART_DROPSIZE   2
#define  RSPART_SPEED   3
#define  RSPART_VARIATION   4
#define  RSPART_DISPTYPE   5
#define  RSPART_STARTTIME   6
#define  RSPART_LIFETIME   7
#define  RSPART_EMITTERWIDTH   8
#define  RSPART_EMITTERHEIGHT   9
#define  RSPART_HIDEEMITTER   10
#define  RSPART_BIRTHRATE   11
#define  RSPART_CONSTANT   12
#define  RSPART_RENDER   13
#define  RSPART_TUMBLE   14
#define  RSPART_SCALE   15
#define  RECTANGLE_LENGTH   0
#define  RECTANGLE_WIDTH   1
#define  RECTANGLE_FILLET   2
#define  SPHERE_RADIUS   0
#define  SPHERE_SEGS   1
#define  SPHERE_SMOOTH   2
#define  SPHERE_HEMI   3
#define  SPHERE_SQUASH   4
#define  SPHERE_RECENTER   5
#define  SPHERE_GENUVS   6
#define  START_RADIUS1   0
#define  START_RADIUS2   1
#define  START_POINTS   2
#define  START_DISTORT   3
#define  START_FILLET1   4
#define  START_FILLET2   5
#define  TEAPOT_RADIUS   0
#define  TEAPOT_SEGS   1
#define  TEAPOT_SMOOTH   2
#define  TEAPOT_TEAPART   3
#define  TEAPOT_BODY   4
#define  TEAPOT_HANDLE   5
#define  TEAPOT_SPOUT   6
#define  TEAPOT_LID   7
#define  TEAPOT_GENUVS   8
#define  TEXT_SIZE   0
#define  TEXT_KERNING   1
#define  TEXT_LEADING   2
#define  TORUS_RADIUS   0
#define  TORUS_RADIUS2   1
#define  TORUS_ROTATION   2
#define  TORUS_TWIST   3
#define  TORUS_SEGMENTS   4
#define  TORUS_SIDES   5
#define  TORUS_SMOOTH   6
#define  TORUS_SLICEON   7
#define  TORUS_PIESLICE1   8
#define  TORUS_PIESLICE2   9
#define  TORUS_GENUVS   10
#define  TUBE_RADIUS   0
#define  TUBE_RADIUS2   1
#define  TUBE_HEIGHT   2
#define  TUBE_SEGMENTS   3
#define  TUBE_CAPSEGMENTS   4
#define  TUBE_SIDES   5
#define  TUBE_SMOOTH   6
#define  TUBE_SLICEON   7
#define  TUBE_PIESLICE1   8
#define  TUBE_PIESLICE2   9
#define  TUBE_GENUVS   10
#define  GRIDHELP_LENGTH   0
#define  GRIDHELP_WIDTH   1
#define  GRIDHELP_GRID   2
#define  BEND_ANGLE   0
#define  BEND_DIR   1
#define  BEND_AXIS   2
#define  BEND_DOREGION   3
#define  BEND_FROM   4
#define  BEND_TO   5
#define  BOMB_STRENGTH   0
#define  BOMB_GRAVITY   1
#define  BOMB_CHAOS   2
#define  BOMB_DETONATION   3
#define  DEFLECTOR_BOUNCE   0
#define  DEFLECTOR_WIDTH   1
#define  DEFLECTOR_HEIGHT   2
#define  DISPLACE_MAPTYPE   0
#define  DISPLACE_UTILE   1
#define  DISPLACE_VTILE   2
#define  DISPLACE_WTILE   3
#define  DISPLACE_BLUR   4
#define  DISPLACE_USEMAP   5
#define  DISPLACE_APPLYMAP   6
#define  DISPLACE_STRENGTH   7
#define  DISPLACE_DECAY   8
#define  DISPLACE_CENTERLUM   9
#define  DISPLACE_UFLIP   10
#define  DISPLACE_VFLIP   11
#define  DISPLACE_WFLIP   12
#define  DISPLACE_CENTERL   13
#define  DISPLACE_CAP   14
#define  DISPLACE_LENGTH   15
#define  DISPLACE_WIDTH   16
#define  DISPLACE_HEIGHT   17
#define  DISPLACE_AXIS   18
#define  EXTRUDE_AMOUNT   0
#define  EXTRUDE_SEGS   1
#define  EXTRUDE_CAPSTART   2
#define  EXTRUDE_CAPEND   3
#define  EXTRUDE_CAPTYPE   4
#define  EXTRUDE_OUTPUT   5
#define  EXTRUDE_MAPPING   6
#define  EXTRUDE_GEN_MATIDS   7
#define  EXTRUDE_USE_SHAPEIDS   8
#define  EXTRUDE_SMOOTH   9
#define  GRAVITY_STRENGTH   0
#define  GRAVITY_DECAY   1
#define  GRAVITY_TYPE   2
#define  GRAVITY_DISPLENGTH   3
#define  WIND_STRENGTH   0
#define  WIND_DECAY   1
#define  WIND_TYPE   2
#define  WIND_DISPLENGTH   3
#define  WIND_TURBULENCE   4
#define  WIND_FREQUENCY   5
#define  WIND_SCALE   6
#define  UVWMAP_MAPTYPE   0
#define  UVWMAP_UTILE   1
#define  UVWMAP_VTILE   2
#define  UVWMAP_WTILE   3
#define  UVWMAP_UFLIP   4
#define  UVWMAP_VFLIP   5
#define  UVWMAP_WFLIP   6
#define  UVWMAP_CAP   7
#define  UVWMAP_CHANNEL   8
#define  UVWMAP_LENGTH   9
#define  UVWMAP_WIDTH   10
#define  UVWMAP_HEIGHT   11
#define  UVWMAP_AXIS   12
#define  NOISEMOD_SEED   0
#define  NOISEMOD_SCALE   1
#define  NOISEMOD_FRACTAL   2
#define  NOISEMOD_ROUGH   3
#define  NOISEMOD_ITERATIONS   4
#define  NOISEMOD_ANIMATE   5
#define  NOISEMOD_FREQ   6
#define  NOISEMOD_PHASE   7
#define  NOISEMOD_STRENGTH   8
#define  OPTMOD_RENDER   0
#define  OPTMOD_VIEWS   1
#define  OPTMOD_FACETHRESH1   2
#define  OPTMOD_EDGETHRESH1   3
#define  OPTMOD_BIAS1   4
#define  OPTMOD_PRESERVEMAT1   5
#define  OPTMOD_PRESERVESMOOTH1   6
#define  OPTMOD_MAXEDGE1   7
#define  OPTMOD_FACETHRESH2   8
#define  OPTMOD_EDGETHRESH2   9
#define  OPTMOD_BIAS2   10
#define  OPTMOD_PRESERVEMAT2   11
#define  OPTMOD_PRESERVESMOOTH2   12
#define  OPTMOD_MAXEDGE2   13
#define  OPTMOD_AUTOEDGE   14
#define  OPTMOD_MANUPDATE   15
#define  VOLSEL_LEVEL   0
#define  VOLSEL_METHOD   1
#define  VOLSEL_TYPE   2
#define  VOLSEL_VOLUME   3
#define  VOLSEL_INVERT   4
#define  RWAVE_AMPLITUDE   0
#define  RWAVE_AMPLITUDE2   1
#define  RWAVE_WAVELEN   2
#define  RWAVE_PHASE   3
#define  RWAVE_DECAY   4
#define  RWAVE_CIRCLES   5
  Valid for space warp objects only.
#define  RWAVE_SEGMENTS   6
  Valid for space warp objects only.
#define  RWAVE_DIVISIONS   7
  Valid for space warp objects only.
#define  RWAVE_FLEX   0
#define  SKEW_AMOUNT   0
#define  SKEW_DIR   1
#define  SKEW_AXIS   2
#define  SKEW_DOREGION   3
#define  SKEW_FROM   4
#define  SKEW_TO   5
#define  MATMOD_MATID   0
#define  SMOOTHMOD_AUTOSMOOTH   0
#define  SMOOTHMOD_THRESHOLD   1
#define  SMOOTHMOD_SMOOTHBITS   2
#define  NORMMOD_UNIFY   0
#define  NORMMOD_FLIP   1
#define  SURFREV_DEGREES   0
#define  SURFREV_SEGS   1
#define  SURFREV_CAPSTART   2
#define  SURFREV_CAPEND   3
#define  SURFREV_CAPTYPE   4
#define  SURFREV_WELDCORE   5
#define  SURFREV_OUTPUT   6
#define  SURFREV_MAPPING   7
#define  TAPER_AMT   0
#define  TAPER_CRV   1
#define  TAPER_AXIS   2
#define  TAPER_EFFECTAXIS   3
#define  TAPER_SYMMETRY   4
#define  TAPER_DOREGION   5
#define  TAPER_FROM   6
#define  TAPER_TO   7
#define  TWIST_ANGLE   0
#define  TWIST_BIAS   1
#define  TWIST_AXIS   2
#define  TWIST_DOREGION   3
#define  TWIST_FROM   4
#define  TWIST_TO   5
#define  MATMOD_MATID   0
#define  SMOOTH_AUTOSMOOTH   0
#define  SMOOTH_THRESHOLD   1
#define  SMOOTH_SMOOTHBITS   2
#define  NORMALMOD_UNIFY   0
#define  NORMALMOD_FLIP   1
#define  TESSMOD_TYPE   0
#define  TESSMOD_TENSION   1
#define  TESSMOD_ITERATIONS   2
#define  TESSMOD_FACE_TYPE   3
#define  UVWXFORM_UTILE   0
#define  UVWXFORM_VTILE   1
#define  UVWXFORM_WTILE   2
#define  UVWXFORM_UOFFSET   3
#define  UVWXFORM_VOFFSET   4
#define  UVWXFORM_WOFFSET   5
#define  UVWXFORM_UFLIP   6
#define  UVWXFORM_VFLIP   7
#define  UVWXFORM_WFLIP   8
#define  UVWXFORM_CHANNEL   9
#define  TEXTOBJ_ITALIC   (1<<1)
#define  TEXTOBJ_UNDERLINE   (1<<2)
#define  TEXTOBJ_LEFT   0
#define  TEXTOBJ_CENTER   1
#define  TEXTOBJ_RIGHT   2
#define  TEXTOBJ_JUSTIFIED   3
#define  IKEY_SELECTED   (1<<0)
#define  IKEY_XSEL   (1<<1)
#define  IKEY_YSEL   (1<<2)
#define  IKEY_ZSEL   (1<<3)
#define  IKEY_WSEL   (1<<30)
#define  IKEY_FLAGGED   (1<<31)
#define  IKEY_TIME_LOCK   (1<<14)
#define  IKEY_ALLSEL   (IKEY_SELECTED|IKEY_XSEL|IKEY_YSEL|IKEY_ZSEL|IKEY_WSEL)
#define  IKEY_VALLOCK_SHIFT   16
#define  IKEY_VALX_LOCK   (1<<IKEY_VALLOCK_SHIFT)
#define  IKEY_VALY_LOCK   (1<<(IKEY_VALLOCK_SHIFT+1))
#define  IKEY_VALZ_LOCK   (1<<(IKEY_VALLOCK_SHIFT+2))
#define  IKEY_VALA_LOCK   (1<<(IKEY_VALLOCK_SHIFT+3))
#define  TCBKEY_QUATVALID   (1<<4)
  Angle/axis is derived from the quat instead of vice/versa.
#define  BEZKEY_XBROKEN   (1<<4)
  Broken means not locked.
#define  BEZKEY_YBROKEN   (1<<5)
#define  BEZKEY_ZBROKEN   (1<<6)
#define  BEZKEY_WBROKEN   (1<<21)
#define  BEZKEY_NUMTYPEBITS   3
#define  BEZKEY_INTYPESHIFT   7
#define  BEZKEY_OUTTYPESHIFT   (BEZKEY_INTYPESHIFT+BEZKEY_NUMTYPEBITS)
#define  BEZKEY_TYPEMASK   7
#define  BEZKEY_SMOOTH   0
#define  BEZKEY_LINEAR   1
#define  BEZKEY_STEP   2
#define  BEZKEY_FAST   3
#define  BEZKEY_SLOW   4
#define  BEZKEY_USER   5
#define  BEZKEY_FLAT   6
#define  NUM_TANGENTTYPES   7
#define  BEZKEY_CONSTVELOCITY   (1<<15)
  Interpolated using arclength as the interpolation parameter.
#define  BEZKEY_UNCONSTRAINHANDLE   (1<<20)
  Determines whether a user handle is limited.
#define  TangentsLocked(f, j)   (!(f&(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN)))
#define  SetTangentLock(f, j, l)   {if (l) (f)=(f)&(~(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN)); else (f)|=(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN);}
#define  GetInTanType(f)   int(((f)>>BEZKEY_INTYPESHIFT)&BEZKEY_TYPEMASK)
#define  GetOutTanType(f)   int(((f)>>BEZKEY_OUTTYPESHIFT)&BEZKEY_TYPEMASK)
#define  SetInTanType(f, t)   {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_INTYPESHIFT)))|(t<<BEZKEY_INTYPESHIFT);}
#define  SetOutTanType(f, t)   {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_OUTTYPESHIFT)))|(t<<BEZKEY_OUTTYPESHIFT);}
#define  HITKEY_INTAN   (1<<10)
#define  HITKEY_OUTTAN   (1<<11)
#define  TFLAG_CURVESEL   (1<<0)
#define  TFLAG_RANGE_UNLOCKED   (1<<1)
#define  TFLAG_LOOPEDIN   (1<<3)
#define  TFLAG_LOOPEDOUT   (1<<4)
#define  TFLAG_COLOR   (1<<5)
#define  TFLAG_HSV   (1<<6)
#define  TRACK_XLOCKED   (1<<7)
#define  KT_FLAG_DELAY_KEYSCHANGED   (1<<8)
#define  TFLAG_NOTKEYABLE   (1<<9)
#define  TFLAG_TCBQUAT_NOWINDUP   (1<<10)
#define  ROTWINDUP_INTERFACE   Interface_ID(0x13a3032c, 0x381345ca)
#define  XDATA_ENTRY   0x8001
#define  XDATA_APPNAME   0x8002
#define  BOOLOP_UNION   0
#define  BOOLOP_INTERSECTION   1
#define  BOOLOP_SUB_AB   2
#define  BOOLOP_SUB_BA   3
#define  BOOLOP_CUT   4
#define  BOOLOP_CUT_REFINE   0
#define  BOOLOP_CUT_SEPARATE   1
#define  BOOLOP_CUT_REMOVE_IN   2
#define  BOOLOP_CUT_REMOVE_OUT   3
#define  BOOLUPDATE_ALWAYS   0
#define  BOOLUPDATE_SELECTED   1
#define  BOOLUPDATE_RENDER   2
#define  BOOLUPDATE_MANUAL   3
#define  BOOL_ADDOP_REFERENCE   0
#define  BOOL_ADDOP_INSTANCE   1
#define  BOOL_ADDOP_COPY   2
#define  BOOL_ADDOP_MOVE   3
#define  BOOL_MAT_NO_MODIFY   0
#define  BOOL_MAT_IDTOMAT   1
#define  BOOL_MAT_MATTOID   2
#define  BOOL_MAT_DISCARD_ORIG   3
#define  BOOL_MAT_DISCARD_NEW   4
#define  BOOLREF_OBJECT1   0
#define  BOOLREF_OBJECT2   1
#define  BOOLREF_CONT1   2
#define  BOOLREF_CONT2   3
#define  BOOLREF_PBLOCK   4
#define  PATH_CONSTRAINT_INTERFACE   Interface_ID(0x79d15f78, 0x1f901f8e)
#define  GetIPathConstInterface(cd)   (IPathPosition*)(cd)->GetInterface(PATH_CONSTRAINT_INTERFACE)
#define  BANKSCALE   100.0f
#define  FromBankUI(a)   ((a)*BANKSCALE)
#define  ToBankUI(a)   ((a)/BANKSCALE)
#define  TRACKSCALE   0.04f
#define  FromTrackUI(a)   ((a)*TRACKSCALE)
#define  ToTrackUI(a)   ((a)/TRACKSCALE)
#define  PATHPOS_PATH_REF   1
#define  PATHPOS_PBLOCK_REF   2
#define  POS_CONSTRAINT_INTERFACE   Interface_ID(0x32040779, 0x794a1278)
#define  GetIPosConstInterface(cd)   (IPosConstPosition*)(cd)->GetInterface(POS_CONSTRAINT_INTERFACE)
#define  POSPOS_PBLOCK_REF   0
#define  ORIENT_CONSTRAINT_INTERFACE   Interface_ID(0x71e2231b, 0x72522ab2)
#define  GetIOrientConstInterface(cd)   (IOrientConstRotation*)(cd)->GetInterface(ORIENT_CONSTRAINT_INTERFACE)
#define  ORIENT_ROT_PBLOCK_REF   0
#define  LOOKAT_CONSTRAINT_INTERFACE   Interface_ID(0x5dbe7ad8, 0x1d1b488b)
#define  GetILookAtConstInterface(cd)   (ILookAtConstRotation*)(cd)->GetInterface(LOOKAT_CONSTRAINT_INTERFACE)
#define  LOOKAT_ROT_PBLOCK_REF   0
#define  SURFCONT_U_REF   0
#define  SURFCONT_V_REF   1
#define  SURFCONT_SURFOBJ_REF   2
#define  LINK_CONSTRAINT_INTERFACE   Interface_ID(0x32f03b37, 0x6700693a)
#define  GetLinkConstInterface(cd)   (LinkConstTransform*)(cd)->GetInterface(LINK_CONSTRAINT_INTERFACE)
#define  ADD_WORLD_LINK   PROPID_USER + 10
#define  LINK_TIME_CONTROL_CLASS_ID   Class_ID(0x5d084b4b, 0x1b1d318a)
#define  LINKCTRL_CONTROL_REF   0
#define  LINKCTRL_FIRSTPARENT_REF   1
#define  LINKCTRL_PBLOCK_REF   2
#define  LINKCTRL_LTCTL_REF   3
#define  LINKCTRL_CORE_REFs   4
#define  LOOKAT_TARGET_REF   0
#define  LOOKAT_POS_REF   1
#define  LOOKAT_ROLL_REF   2
#define  LOOKAT_SCL_REF   3
#define  BOOL_CONTROL_INTERFACE   Interface_ID(0x5d511b6, 0x52a302db)
#define  GetIBoolCntrlInterface(cd)   (IBoolCntrl*)(cd)->GetInterface(BOOL_CONTROL_INTERFACE)
#define  BOOL_PBLOCK_REF   0
#define  ILOOKATCONTROL_EXTENSION   Interface_ID(0x40ce4981, 0x3ea31c3b)
#define  FLOATLIST_CONTROL_CLASS_ID   0x4b4b1000
#define  POINT3LIST_CONTROL_CLASS_ID   0x4b4b1001
#define  POSLIST_CONTROL_CLASS_ID   0x4b4b1002
#define  ROTLIST_CONTROL_CLASS_ID   0x4b4b1003
#define  SCALELIST_CONTROL_CLASS_ID   0x4b4b1004
#define  DUMMY_CONTROL_CLASS_ID   0xeeefffff
#define  MASTERLIST_CONTROL_CLASS_ID   0x4b4b1015
#define  POINT4LIST_CONTROL_CLASS_ID   0x4b4b1005
#define  LIST_CONTROLLER_INTERFACE   Interface_ID(0x444e7687, 0x722e6e36)
#define  GetIListControlInterface(cd)   (IListControl*)(cd)->GetInterface(LIST_CONTROLLER_INTERFACE)
#define  SPLINEIK_CONTROL_INTERFACE   Interface_ID(0x7c93607a, 0x47d54f80)
#define  GetISplineIKControlInterface(cd)   (ISplineIKControl*)(cd)->GetInterface(SPLINEIK_CONTROL_INTERFACE)
#define  SPLINEIKCONTROL_PBLOCK_REF   0
#define  SPLINEIK_CONTROL_INTERFACE2   Interface_ID(0x72428cc, 0x2a4a1b5f)
#define  GetISplineIKControlInterface2(cd)   (ISplineIKControl2*)(cd)->GetInterface(SPLINEIK_CONTROL_INTERFACE2)
#define  IMESHSEL_OBJECT   0
#define  IMESHSEL_VERTEX   1
#define  IMESHSEL_FACE   2
#define  IMESHSEL_EDGE   3
#define  APPLYVC_UTIL_CLASS_ID   Class_ID(0x6e989195, 0x5dfb41b7)
#define  IASSIGNVERTEXCOLORS_INTERFACE_ID   Interface_ID(0x4f913fd8, 0x422a32af)
#define  IASSIGNVERTEXCOLORS_R7_INTERFACE_ID   Interface_ID(0x77870f30, 0x4ed82b62)
#define  PAINTLAYERMOD_CLASS_ID   Class_ID(0x7ebb4645, 0x7be2044b)
#define  IVERTEXPAINT_INTERFACE_ID   Interface_ID(0x3e262ef9, 0x220e7190)
#define  IVERTEXPAINT_R7_INTERFACE_ID   Interface_ID(0x4ea42df5, 0x44a35866)
#define  TIMESLIDER_INTERFACE   Interface_ID(0x829e89e5, 0x878ef6e5)
#define  STATUSPANEL_INTERFACE   Interface_ID(0x94357f0, 0x623e71c2)
#define  BMPIO_INTERFACE   Interface_ID(0x374f288f, 0x19e460d6)
#define  JPEGIO_INTERFACE   Interface_ID(0x466c7964, 0x2db94ff2)
#define  PNGIO_INTERFACE   Interface_ID(0x1d7c41db, 0x328c1142)
#define  TGAIO_INTERFACE   Interface_ID(0x21d673b7, 0x1d34198d)
#define  RLAIO_INTERFACE   Interface_ID(0x282c2f79, 0x68f7373d)
#define  RPFIO_INTERFACE   Interface_ID(0x25a87871, 0x2e265a49)
#define  RGBIO_INTERFACE   Interface_ID(0x096c2424, 0x21b84dae)
#define  I_ATTACHCTRL   Interface_ID(0x199a6b11, 0x5ca27621)

Enumerations

enum   { path_params, path_joint_params }
enum   {
  path_percent, path_path, path_follow, path_bank,
  path_bank_amount, path_smoothness, path_allow_upsidedown, path_constant_vel,
  path_axis, path_axis_flip, path_path_weight, path_path_list,
  path_loop, path_relative
}
enum   { pointobj_params }
enum   {
  pointobj_size, pointobj_centermarker, pointobj_axistripod, pointobj_cross,
  pointobj_box, pointobj_screensize, pointobj_drawontop
}
enum   { nspline_params }
enum   { nspline_length }
enum   splineCommandMode {
  ScmCreateLine, ScmAttach, ScmInsert, ScmConnect,
  ScmRefine, ScmFillet, ScmChamfer, ScmBind,
  ScmRefineConnect, ScmOutline, ScmTrim, ScmExtend,
  ScmCrossInsert, ScmBreak, ScmUnion, ScmSubtract,
  ScmCrossSection, ScmCopyTangent, ScmPasteTangent
}
enum   splineButtonOp {
  SopHide, SopUnhideAll, SopDelete, SopDetach,
  SopDivide, SopCycle, SopUnbind, SopWeld,
  SopMakeFirst, SopAttachMultiple, SopExplode, SopReverse,
  SopClose, SopIntersect, SopMirrorHoriz, SopMirrorVert,
  SopMirrorBoth, SopSelectByID, SopFuse
}
enum   splineUIParam
enum   patchCommandMode {
  PcmAttach, PcmExtrude, PcmBevel, PcmBind,
  PcmCreate, PcmWeldTarget, PcmFlipNormal, PcmCopyTangent,
  PcmPasteTangent
}
enum   patchButtonOp {
  PopUnbind, PopHide, PopUnhideAll, PopWeld,
  PopDelete, PopSubdivide, PopAddTri, PopAddQuad,
  PopDetach, PopSelectOpenEdges, PopBreak, PopCreateShapeFromEdges,
  PopFlipNormal, PopUnifyNormal, PopSelectByID, PopSelectBySG,
  PopClearAllSG, PopPatchSmooth, PopSelectionShrink, PopSelectionGrow,
  PopEdgeRingSel, PopEdgeLoopSel, PopShadedFaceToggle
}
enum   patchUIParam
enum   LightingModel { kLightingOnly = 0, kShadedLighting = 1, kShadedOnly = 2 }

Functions

CoreExport void  SetBezierDefaultTangentType (int in, int out)
CoreExport void  GetBezierDefaultTangentType (int &in, int &out)
CoreExport void  SetTCBDefaultParams (float t, float c, float b, float easeIn, float easeOut)
CoreExport void  GetTCBDefaultParams (float &t, float &c, float &b, float &easeIn, float &easeOut)
CoreExport void  RegisterObjectAppDataReader (ObjectDataReaderCallback *cb)
CoreExport Object ObjectFromAppData (TriObject *obj, char *name, void *data, DWORD len)
CoreExport void  GetIDStr (char *chunk, char *idstring)
CoreExport int  FindAppDataChunk (void *appd, DWORD len, char *idstring)
CoreExport void *  GetAppDataChunk (void *appd, DWORD len, char *idstring)
CoreExport int  SetAppDataChunk (void **pappd, DWORD &len, void *chunk)
CoreExport int  DeleteAppDataChunk (void **pappd, DWORD &len, char *idstring)

Define Documentation

#define TEXTOBJ_ITALIC   (1<<1)

Definition at line 519 of file istdplug.h.

#define TEXTOBJ_UNDERLINE   (1<<2)

Definition at line 520 of file istdplug.h.

#define TEXTOBJ_LEFT   0

Definition at line 523 of file istdplug.h.

#define TEXTOBJ_CENTER   1

Definition at line 524 of file istdplug.h.

#define TEXTOBJ_RIGHT   2

Definition at line 525 of file istdplug.h.

#define TEXTOBJ_JUSTIFIED   3

Definition at line 526 of file istdplug.h.

#define HITKEY_INTAN   (1<<10)

Definition at line 1030 of file istdplug.h.

#define HITKEY_OUTTAN   (1<<11)

Definition at line 1031 of file istdplug.h.

#define TFLAG_CURVESEL   (1<<0)

Definition at line 1034 of file istdplug.h.

#define TFLAG_RANGE_UNLOCKED   (1<<1)

Definition at line 1035 of file istdplug.h.

#define TFLAG_LOOPEDIN   (1<<3)

Definition at line 1036 of file istdplug.h.

#define TFLAG_LOOPEDOUT   (1<<4)

Definition at line 1037 of file istdplug.h.

#define TFLAG_COLOR   (1<<5)

Definition at line 1038 of file istdplug.h.

#define TFLAG_HSV   (1<<6)

Definition at line 1039 of file istdplug.h.

#define TRACK_XLOCKED   (1<<7)

Definition at line 1040 of file istdplug.h.

#define KT_FLAG_DELAY_KEYSCHANGED   (1<<8)

Definition at line 1041 of file istdplug.h.

#define TFLAG_NOTKEYABLE   (1<<9)

Definition at line 1042 of file istdplug.h.

#define TFLAG_TCBQUAT_NOWINDUP   (1<<10)

Definition at line 1043 of file istdplug.h.

#define ROTWINDUP_INTERFACE   Interface_ID(0x13a3032c, 0x381345ca)

Definition at line 1433 of file istdplug.h.

#define XDATA_ENTRY   0x8001

Definition at line 1660 of file istdplug.h.

#define XDATA_APPNAME   0x8002

Definition at line 1661 of file istdplug.h.

#define BOOLOP_UNION   0

Definition at line 1729 of file istdplug.h.

#define BOOLOP_INTERSECTION   1

Definition at line 1730 of file istdplug.h.

#define BOOLOP_SUB_AB   2

Definition at line 1731 of file istdplug.h.

#define BOOLOP_SUB_BA   3

Definition at line 1732 of file istdplug.h.

#define BOOLOP_CUT   4

Definition at line 1733 of file istdplug.h.

#define BOOLOP_CUT_REFINE   0

Definition at line 1735 of file istdplug.h.

#define BOOLOP_CUT_SEPARATE   1

Definition at line 1736 of file istdplug.h.

#define BOOLOP_CUT_REMOVE_IN   2

Definition at line 1737 of file istdplug.h.

#define BOOLOP_CUT_REMOVE_OUT   3

Definition at line 1738 of file istdplug.h.

#define BOOLUPDATE_ALWAYS   0

Definition at line 1740 of file istdplug.h.

#define BOOLUPDATE_SELECTED   1

Definition at line 1741 of file istdplug.h.

#define BOOLUPDATE_RENDER   2

Definition at line 1742 of file istdplug.h.

#define BOOLUPDATE_MANUAL   3

Definition at line 1743 of file istdplug.h.

#define BOOL_ADDOP_REFERENCE   0

Definition at line 1745 of file istdplug.h.

#define BOOL_ADDOP_INSTANCE   1

Definition at line 1746 of file istdplug.h.

#define BOOL_ADDOP_COPY   2

Definition at line 1747 of file istdplug.h.

#define BOOL_ADDOP_MOVE   3

Definition at line 1748 of file istdplug.h.

#define BOOL_MAT_NO_MODIFY   0

Definition at line 1750 of file istdplug.h.

#define BOOL_MAT_IDTOMAT   1

Definition at line 1751 of file istdplug.h.

#define BOOL_MAT_MATTOID   2

Definition at line 1752 of file istdplug.h.

#define BOOL_MAT_DISCARD_ORIG   3

Definition at line 1753 of file istdplug.h.

#define BOOL_MAT_DISCARD_NEW   4

Definition at line 1754 of file istdplug.h.

#define BOOLREF_OBJECT1   0

Definition at line 1925 of file istdplug.h.

#define BOOLREF_OBJECT2   1

Definition at line 1926 of file istdplug.h.

#define BOOLREF_CONT1   2

Definition at line 1927 of file istdplug.h.

#define BOOLREF_CONT2   3

Definition at line 1928 of file istdplug.h.

#define BOOLREF_PBLOCK   4

Definition at line 1929 of file istdplug.h.

#define PATH_CONSTRAINT_INTERFACE   Interface_ID(0x79d15f78, 0x1f901f8e)

Definition at line 1939 of file istdplug.h.

#define GetIPathConstInterface (   cd )    (IPathPosition*)(cd)->GetInterface(PATH_CONSTRAINT_INTERFACE)

Definition at line 1940 of file istdplug.h.

#define BANKSCALE   100.0f

Definition at line 2144 of file istdplug.h.

#define FromBankUI (   a )    ((a)*BANKSCALE)

Definition at line 2145 of file istdplug.h.

#define ToBankUI (   a )    ((a)/BANKSCALE)

Definition at line 2146 of file istdplug.h.

#define TRACKSCALE   0.04f

Definition at line 2148 of file istdplug.h.

#define FromTrackUI (   a )    ((a)*TRACKSCALE)

Definition at line 2149 of file istdplug.h.

#define ToTrackUI (   a )    ((a)/TRACKSCALE)

Definition at line 2150 of file istdplug.h.

#define PATHPOS_PATH_REF   1

Definition at line 2154 of file istdplug.h.

#define PATHPOS_PBLOCK_REF   2

Definition at line 2155 of file istdplug.h.

#define POS_CONSTRAINT_INTERFACE   Interface_ID(0x32040779, 0x794a1278)

Definition at line 2167 of file istdplug.h.

#define GetIPosConstInterface (   cd )    (IPosConstPosition*)(cd)->GetInterface(POS_CONSTRAINT_INTERFACE)

Definition at line 2168 of file istdplug.h.

#define POSPOS_PBLOCK_REF   0

Definition at line 2254 of file istdplug.h.

#define ORIENT_CONSTRAINT_INTERFACE   Interface_ID(0x71e2231b, 0x72522ab2)

Definition at line 2266 of file istdplug.h.

#define GetIOrientConstInterface (   cd )    (IOrientConstRotation*)(cd)->GetInterface(ORIENT_CONSTRAINT_INTERFACE)

Definition at line 2267 of file istdplug.h.

#define ORIENT_ROT_PBLOCK_REF   0

Definition at line 2356 of file istdplug.h.

#define LOOKAT_CONSTRAINT_INTERFACE   Interface_ID(0x5dbe7ad8, 0x1d1b488b)

Definition at line 2370 of file istdplug.h.

#define GetILookAtConstInterface (   cd )    (ILookAtConstRotation*)(cd)->GetInterface(LOOKAT_CONSTRAINT_INTERFACE)

Definition at line 2371 of file istdplug.h.

#define LOOKAT_ROT_PBLOCK_REF   0

Definition at line 2571 of file istdplug.h.

#define SURFCONT_U_REF   0

Definition at line 2702 of file istdplug.h.

#define SURFCONT_V_REF   1

Definition at line 2703 of file istdplug.h.

#define SURFCONT_SURFOBJ_REF   2

Definition at line 2704 of file istdplug.h.

#define LINK_CONSTRAINT_INTERFACE   Interface_ID(0x32f03b37, 0x6700693a)

Definition at line 2712 of file istdplug.h.

#define GetLinkConstInterface (   cd )    (LinkConstTransform*)(cd)->GetInterface(LINK_CONSTRAINT_INTERFACE)

Definition at line 2713 of file istdplug.h.

#define ADD_WORLD_LINK   PROPID_USER + 10

Definition at line 2715 of file istdplug.h.

#define LINK_TIME_CONTROL_CLASS_ID   Class_ID(0x5d084b4b, 0x1b1d318a)

Definition at line 2716 of file istdplug.h.

#define LINKCTRL_CONTROL_REF   0

Definition at line 2846 of file istdplug.h.

#define LINKCTRL_FIRSTPARENT_REF   1

Definition at line 2847 of file istdplug.h.

#define LINKCTRL_PBLOCK_REF   2

Definition at line 2848 of file istdplug.h.

#define LINKCTRL_LTCTL_REF   3

Definition at line 2849 of file istdplug.h.

#define LINKCTRL_CORE_REFs   4

Definition at line 2850 of file istdplug.h.

#define LOOKAT_TARGET_REF   0

Definition at line 2896 of file istdplug.h.

#define LOOKAT_POS_REF   1

Definition at line 2897 of file istdplug.h.

#define LOOKAT_ROLL_REF   2

Definition at line 2898 of file istdplug.h.

#define LOOKAT_SCL_REF   3

Definition at line 2899 of file istdplug.h.

#define BOOL_CONTROL_INTERFACE   Interface_ID(0x5d511b6, 0x52a302db)

Definition at line 2907 of file istdplug.h.

#define GetIBoolCntrlInterface (   cd )    (IBoolCntrl*)(cd)->GetInterface(BOOL_CONTROL_INTERFACE)

Definition at line 2908 of file istdplug.h.

#define BOOL_PBLOCK_REF   0

Definition at line 2954 of file istdplug.h.

#define ILOOKATCONTROL_EXTENSION   Interface_ID(0x40ce4981, 0x3ea31c3b)

Definition at line 2962 of file istdplug.h.

#define FLOATLIST_CONTROL_CLASS_ID   0x4b4b1000

Definition at line 2978 of file istdplug.h.

#define POINT3LIST_CONTROL_CLASS_ID   0x4b4b1001

Definition at line 2979 of file istdplug.h.

#define POSLIST_CONTROL_CLASS_ID   0x4b4b1002

Definition at line 2980 of file istdplug.h.

#define ROTLIST_CONTROL_CLASS_ID   0x4b4b1003

Definition at line 2981 of file istdplug.h.

#define SCALELIST_CONTROL_CLASS_ID   0x4b4b1004

Definition at line 2982 of file istdplug.h.

#define DUMMY_CONTROL_CLASS_ID   0xeeefffff

Definition at line 2983 of file istdplug.h.

#define MASTERLIST_CONTROL_CLASS_ID   0x4b4b1015

Definition at line 2984 of file istdplug.h.

#define POINT4LIST_CONTROL_CLASS_ID   0x4b4b1005

Definition at line 2985 of file istdplug.h.

#define LIST_CONTROLLER_INTERFACE   Interface_ID(0x444e7687, 0x722e6e36)

Definition at line 2989 of file istdplug.h.

#define GetIListControlInterface (   cd )    (IListControl*)(cd)->GetInterface(LIST_CONTROLLER_INTERFACE)

Definition at line 2991 of file istdplug.h.

#define SPLINEIK_CONTROL_INTERFACE   Interface_ID(0x7c93607a, 0x47d54f80)

Definition at line 3106 of file istdplug.h.

#define GetISplineIKControlInterface (   cd )    (ISplineIKControl*)(cd)->GetInterface(SPLINEIK_CONTROL_INTERFACE)

Definition at line 3107 of file istdplug.h.

#define SPLINEIKCONTROL_PBLOCK_REF   0

Definition at line 3212 of file istdplug.h.

#define SPLINEIK_CONTROL_INTERFACE2   Interface_ID(0x72428cc, 0x2a4a1b5f)

Definition at line 3243 of file istdplug.h.

#define GetISplineIKControlInterface2 (   cd )    (ISplineIKControl2*)(cd)->GetInterface(SPLINEIK_CONTROL_INTERFACE2)

Definition at line 3244 of file istdplug.h.

#define IMESHSEL_OBJECT   0

Definition at line 3354 of file istdplug.h.

#define IMESHSEL_VERTEX   1

Definition at line 3355 of file istdplug.h.

#define IMESHSEL_FACE   2

Definition at line 3356 of file istdplug.h.

#define IMESHSEL_EDGE   3

Definition at line 3357 of file istdplug.h.

#define APPLYVC_UTIL_CLASS_ID   Class_ID(0x6e989195, 0x5dfb41b7)

Definition at line 3967 of file istdplug.h.

#define IASSIGNVERTEXCOLORS_INTERFACE_ID   Interface_ID(0x4f913fd8, 0x422a32af)

Definition at line 3968 of file istdplug.h.

#define IASSIGNVERTEXCOLORS_R7_INTERFACE_ID   Interface_ID(0x77870f30, 0x4ed82b62)

Definition at line 4021 of file istdplug.h.

#define PAINTLAYERMOD_CLASS_ID   Class_ID(0x7ebb4645, 0x7be2044b)

Definition at line 4049 of file istdplug.h.

#define IVERTEXPAINT_INTERFACE_ID   Interface_ID(0x3e262ef9, 0x220e7190)

Definition at line 4050 of file istdplug.h.

#define IVERTEXPAINT_R7_INTERFACE_ID   Interface_ID(0x4ea42df5, 0x44a35866)

Definition at line 4094 of file istdplug.h.

#define TIMESLIDER_INTERFACE   Interface_ID(0x829e89e5, 0x878ef6e5)

Definition at line 4107 of file istdplug.h.

#define STATUSPANEL_INTERFACE   Interface_ID(0x94357f0, 0x623e71c2)

Definition at line 4133 of file istdplug.h.

#define BMPIO_INTERFACE   Interface_ID(0x374f288f, 0x19e460d6)

Definition at line 4142 of file istdplug.h.

#define JPEGIO_INTERFACE   Interface_ID(0x466c7964, 0x2db94ff2)

Definition at line 4180 of file istdplug.h.

#define PNGIO_INTERFACE   Interface_ID(0x1d7c41db, 0x328c1142)

Definition at line 4209 of file istdplug.h.

#define TGAIO_INTERFACE   Interface_ID(0x21d673b7, 0x1d34198d)

Definition at line 4253 of file istdplug.h.

#define RLAIO_INTERFACE   Interface_ID(0x282c2f79, 0x68f7373d)

Definition at line 4301 of file istdplug.h.

#define RPFIO_INTERFACE   Interface_ID(0x25a87871, 0x2e265a49)

Definition at line 4302 of file istdplug.h.

#define RGBIO_INTERFACE   Interface_ID(0x096c2424, 0x21b84dae)

Definition at line 4374 of file istdplug.h.

#define I_ATTACHCTRL   Interface_ID(0x199a6b11, 0x5ca27621)

Definition at line 4447 of file istdplug.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
path_params 
path_joint_params 

Definition at line 2134 of file istdplug.h.

anonymous enum
anonymous enum
Enumerator:
pointobj_params 

Definition at line 3221 of file istdplug.h.

anonymous enum
anonymous enum
Enumerator:
nspline_params 

Definition at line 3235 of file istdplug.h.

anonymous enum
Enumerator:
nspline_length 

Definition at line 3238 of file istdplug.h.

Definition at line 3641 of file istdplug.h.

{  };

Definition at line 3875 of file istdplug.h.

{  };

Function Documentation

CoreExport void SetBezierDefaultTangentType ( int  in,
int  out 
)
CoreExport void GetBezierDefaultTangentType ( int &  in,
int &  out 
)
CoreExport void SetTCBDefaultParams ( float  t,
float  c,
float  b,
float  easeIn,
float  easeOut 
)
CoreExport void GetTCBDefaultParams ( float &  t,
float &  c,
float &  b,
float &  easeIn,
float &  easeOut 
)
CoreExport void RegisterObjectAppDataReader ( ObjectDataReaderCallback cb )
Remarks:
Implemented by the System.

This method allows a plug-in to register a callback that will be called when reading a 3DS file that has a particular appdata chunk. The plug-in callback is given an opportunity to read the chunk and create an object other than a TriObject based on the contents of the chunk and the original object.
Parameters:
ObjectDataReaderCallback *cb

The callback to read the chunk and create an object.
CoreExport Object* ObjectFromAppData ( TriObject obj,
char *  name,
void *  data,
DWORD  len 
)
Remarks:
This function is used internally by the 3DS Import plug-in.

Note the following about 3DS App Data. If app data is encountered and no plug-in has registered to convert it, then it is just hung off the object (or INode in the case of KXP app data). For object app data, TriObject's super class and class ID are used to identify the chunk and the sub ID is set to 0. For node app data, INode's super class and class ID are used to identify the chunk and the sub ID is set to 0.

This single 3ds Max app data chunk will contain the entire 3DS app data chunk, which may have sub chunks (see the IPAS SDK). The following routines will aid in parsing 3DS app data.
CoreExport void GetIDStr ( char *  chunk,
char *  idstring 
)
Remarks:
This function gets the ID string out of an XDATA_ENTRY chunk and null terminates it.
Parameters:
char *chunk

A pointer to the chunk.

char *idstring

The ID string.
CoreExport int FindAppDataChunk ( void *  appd,
DWORD  len,
char *  idstring 
)
Remarks:
Returns the offset into appd of the specified chunk or -1 if it is not found.
Parameters:
void *appd

The is the entire app data chunk containing all the sub-chunks.

DWORD len

This is the length of the entire app data chunk.

char *idstring

The ID of the chunk to find.
Returns:
The offset into appd of the specified chunk or -1 if it is not found.
CoreExport void* GetAppDataChunk ( void *  appd,
DWORD  len,
char *  idstring 
)
Remarks:
This function is similar to FindAppDataChunk() above, but returns a pointer to the chunk or NULL if it is not found.
Parameters:
void *appd

The is the entire app data chunk containing all the sub-chunks.

DWORD len

This is the length of the entire app data chunk.

char *idstring

The ID of the chunk to find.
Returns:
A pointer to the chunk or NULL if it is not found.
CoreExport int SetAppDataChunk ( void **  pappd,
DWORD &  len,
void *  chunk 
)
Remarks:
This function adds the chunk to the appdata chunk, preserving existing chunks. chunk should point to the new chunk header followed by its data.
Parameters:
void **pappd

The is the entire app data chunk containing all the sub-chunks.

DWORD &len

This is the length of the entire app data chunk.

void *chunk

A pointer to the new chunk header.
Returns:
Nonzero if the chunk was added; otherwise zero.
CoreExport int DeleteAppDataChunk ( void **  pappd,
DWORD &  len,
char *  idstring 
)
Remarks:
Deletes a chunk from the appdata while preserving other chunks.
Parameters:
void **pappd

The is the entire app data chunk containing all the sub-chunks.

DWORD &len

This is the length of the entire app data chunk.

char *idstring

The ID of the chunk to delete.
Returns:
Nonzero if the chunk was deleted; otherwise zero.