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 { ... } |