This reference page is linked to from the following overview topics: Mesh Example, Parameter Validation, Additional ParamType2 Codes for Function Publishing and MAXScript, Added Base Types, Supported Types, Calling MAXScript from C++.
union { int i; float f; int* iptr; float* fptr; Point3* p; TimeValue t; MCHAR* s; MSTR* tstr; PBBitmap* bm; Mtl* mtl; Texmap* tex; INode* n; ReferenceTarget* r; Matrix3* m; AngAxis* aa; Quat* q; Ray* ray; Point2* p2; BitArray* bits; ClassDesc* cd; Mesh* msh; Object* obj; Control* ctrl; Interval* intvl; POINT* pt; HWND hwnd; IObject* iobj; FPInterface* fpi; void* ptr; Color* clr; FPValue* fpv; Value* v; // Tab<>s of above Tab<int>* i_tab; Tab<float>* f_tab; Tab<Point3*>* p_tab; Tab<TimeValue>* t_tab; Tab<MCHAR*>* s_tab; Tab<MSTR*>* tstr_tab; Tab<PBBitmap*>* bm_tab; Tab<Mtl*>* mtl_tab; Tab<Texmap*>* tex_tab; Tab<INode*>* n_tab; Tab<ReferenceTarget*>* r_tab; Tab<Matrix3*>* m3_tab; Tab<AngAxis*>* aa_tab; Tab<Quat*>* q_tab; Tab<Ray*>* ray_tab; Tab<Point2*>* p2_tab; Tab<BitArray*>* bits_tab; Tab<ClassDesc*>* cd_tab; Tab<Mesh*>* msh_tab; Tab<Object*>* obj_tab; Tab<Control*>* ctrl_tab; Tab<Interval*>* intvl_tab; Tab<POINT*>* pt_tab; Tab<HWND>* hwnd_tab; Tab<IObject*>* iobj_tab; Tab<FPInterface*>* fpi_tab; Tab<void*>* ptr_tab; Tab<Color*>* clr_tab; Tab<FPValue*>* fpv_tab; Tab<Value*>* v_tab; };
#include <ifnpub.h>
Public Member Functions |
|
FPValue () | |
FPValue (const FPValue &from) | |
FPValue (int type,...) | |
CoreExport | ~FPValue () |
CoreExport void | Free () |
CoreExport void | Init () |
CoreExport void | InitTab (ParamType2 type, int size) |
Allocates and initializes the Tab in
the FPValue for TAB
types. |
|
CoreExport FPValue & | operator= (const FPValue &sv) |
CoreExport va_list | Loadva (int type, va_list ap, bool ptr=false) |
void | Load (int type,...) |
void | LoadPtr (int type,...) |
CoreExport IOResult | Save (ISave *isave) |
Saves the FPValue. |
|
CoreExport IOResult | Load (ILoad *iload) |
Loads the FPValue. |
|
Static Public Member Functions |
|
static CoreExport bool | IsPointerBasedType (ParamType2 type) |
Returns true if the data associated with the
type is represented by a pointer. If the type is a TAB type,
whether the data in the Tab is represented by a pointer.
|
|
Public Attributes |
|
ParamType2 | type |
union { | |
int i | |
float f | |
DWORD d | |
bool b | |
INT_PTR intptr | |
INT64 i64 | |
double dbl | |
int * iptr | |
float * fptr | |
Point3 * p | |
Point4 * p4 | |
TimeValue t | |
MCHAR * s | |
MSTR * tstr | |
PBBitmap * bm | |
Mtl * mtl | |
Texmap * tex | |
INode * n | |
ReferenceTarget * r | |
Matrix3 * m | |
AngAxis * aa | |
Quat * q | |
Ray * ray | |
Point2 * p2 | |
BitArray * bits | |
ClassDesc * cd | |
Mesh * msh | |
Object * obj | |
Control * ctrl | |
Interval * intvl | |
POINT * pt | |
HWND hwnd | |
IObject * iobj | |
FPInterface * fpi | |
void * ptr | |
Color * clr | |
AColor * aclr | |
FPValue * fpv | |
Value * v | |
DWORD * dptr | |
bool * bptr | |
INT_PTR * intptrptr | |
INT64 * i64ptr | |
double * dblptr | |
Tab< int > * i_tab | |
Tab< float > * f_tab | |
Tab< Point3 * > * p_tab | |
Tab< Point4 * > * p4_tab | |
Tab< TimeValue > * t_tab | |
Tab< MCHAR * > * s_tab | |
Tab< MSTR * > * tstr_tab | |
Tab< PBBitmap * > * bm_tab | |
Tab< Mtl * > * mtl_tab | |
Tab< Texmap * > * tex_tab | |
Tab< INode * > * n_tab | |
Tab< ReferenceTarget * > * r_tab | |
Tab< Matrix3 * > * m3_tab | |
Tab< AngAxis * > * aa_tab | |
Tab< Quat * > * q_tab | |
Tab< Ray * > * ray_tab | |
Tab< Point2 * > * p2_tab | |
Tab< BitArray * > * bits_tab | |
Tab< ClassDesc * > * cd_tab | |
Tab< Mesh * > * msh_tab | |
Tab< Object * > * obj_tab | |
Tab< Control * > * ctrl_tab | |
Tab< Interval * > * intvl_tab | |
Tab< POINT * > * pt_tab | |
Tab< HWND > * hwnd_tab | |
Tab< IObject * > * iobj_tab | |
Tab< FPInterface * > * fpi_tab | |
Tab< void * > * ptr_tab | |
Tab< Color * > * clr_tab | |
Tab< AColor * > * aclr_tab | |
Tab< FPValue * > * fpv_tab | |
Tab< Value * > * v_tab | |
Tab< DWORD > * d_tab | |
Tab< bool > * b_tab | |
Tab< INT_PTR > * intptr_tab | |
Tab< INT64 > * i64_tab | |
Tab< double > * dbl_tab | |
}; |
FPValue | ( | int | type, |
... | |||
) | [inline] |
CoreExport ~FPValue | ( | ) | [inline] |
CoreExport void Free | ( | ) |
CoreExport void Init | ( | ) |
CoreExport void InitTab | ( | ParamType2 | type, |
int | size | ||
) |
CoreExport va_list Loadva | ( | int | type, |
va_list | ap, | ||
bool | ptr = false |
||
) |
void Load | ( | int | type, |
... | |||
) | [inline] |
void LoadPtr | ( | int | type, |
... | |||
) | [inline] |
Saves the FPValue.
Note that raw pointers are not saved. FPValues that contain a raw pointer (TYPE_IOBJECT, TYPE_INTERFACE, TYPE_VOID, TYPE_HWND) will store a pointer value of NULL.
For TYPE_VALUE values, only the following singleton values are saved and loaded: undefined, unsupplied, emptyVal, ok.
All other value types are saved as undefined.
[in] | isave | - This class provides methods to save data to disk. |
Loads the FPValue.
[in] | iload | - This class provides methods to load data from disk. |
static CoreExport bool IsPointerBasedType | ( | ParamType2 | type | ) | [static] |
Returns true if the data associated with the type is represented by a pointer. If the type is a TAB type, whether the data in the Tab is represented by a pointer.
[in] | type | - The ParamType2 type to test. |
ParamType2 type |
float f |
DWORD d |
INT_PTR intptr |
double dbl |
float* fptr |
TimeValue t |
MCHAR* s |
POINT* pt |
DWORD* dptr |
INT_PTR* intptrptr |
INT64* i64ptr |
double* dblptr |
Tab<INT_PTR>* intptr_tab |
union { ... } |