Public Member Functions | Static Public Member Functions

MScriptUtil Class Reference

This reference page is linked to from the following overview topics: Maya Python API を使用する.


Search for all occurrences

Detailed Description

Utility class for working with pointers and references in Python.

Many of Maya's API methods require that one or more of their parameters be passed as pointers or references. Their return values, too, can be pointers or references.

In Python parameters of class types are passed by reference but parameters of simple types, like integers and floats, are passed by value, making it impossible to call those API methods from Python. The MScriptUtil class bridges this gap by providing methods which return pointers to values of simple types and which can extract values from such pointers. These pointers can also be used wherever an API method requires a reference to a simple type or an array of a simple type.

For example, MTransformationMatrix::setShear() requires as its first parameter an array of three values of simple type 'double'. To call setShear() from Python requires using MScriptUtil to create the array of doubles:

  matrix = maya.OpenMaya.MTransformationMatrix()
  util = maya.OpenMaya.MScriptUtil()
  util.createFromDouble(1.0, 2.0, 3.0)
  ptr = util.asDoublePtr()
  m.setShear(ptr, maya.OpenMaya.MSpace.kObject)

Similar code is required to get the shear value using MTransformationMatrix::getShear(), but MScriptUtil methods must also be used to extract the returned values from the array:

  util = maya.OpenMaya.MScriptUtil()
  util.createFromDouble(0.0, 0.0, 0.0)
  ptr = util.asDoublePtr()
  matrix.getShear(ptr, maya.OpenMaya.MSpace.kObject)

  shearX = util.getDoubleArrayItem(ptr, 0)
  shearY = util.getDoubleArrayItem(ptr, 1)
  shearZ = util.getDoubleArrayItem(ptr, 2)

If a method requires a reference or pointer to an enumerated value, use a pointer to a short int instead.

An MScriptUtil object keeps two sets of values internally: its initial values, and its working values. The initial values are those supplied either in the constructor or by calling one of the object's create*() methods. The working values are those to which the as*Ptr() methods return pointers.

Each time a create*() method is called it completely replaces the old initial values with the new ones. The as*() methods (asInt(), asFloat(), etc) but not the as*Ptr() methods, all return the first internal value, converted to the appropriate type.

Each time an as*Ptr() method is called it completely replaces the old working values with new ones of the requested type and initializes them from the initial values. If the type of the working values does not match that of the initial values then appropriate conversions are done. For example, if you have initialized an MScriptUtil object with four doubles via a call to createFromDouble(), then a subsequent call to asBoolPtr() will allocate space for four boolean working values and initialize them from the initial values by converting non-zero values to true and zero values to false.

The separation of initial and working values means that changes to the working values will not affect the initial values. For example, if you pass the pointer returned by asBoolPtr() to an API method which changes the working value it points to, the object's initial value will remain unchanged and its asInt() method will continue to return the same value as it did before the API call.

The number of working values returned by the as*Ptr() methods will match the number of initial values. Thus it is important that you provide a sufficient number of initial values before calling an as*Ptr() method. If no initial values are provided in the MScriptUtil constructor and none are subsequently supplied by calls to the create*() methods, then the pointers returned by the as*Ptr() methods won't have room to store even a single value, which will likely lead to errors.

As already noted, each call to one of an object's as*Ptr() methods completely replaces the old working values with new ones, thus rendering invalid any pointers previously returned by that object. This means that if you need multiple pointers for a single API call, you will need multiple MScriptUtil objects. MFnMesh::getUV() provides an example of this:

  meshFn = maya.OpenMaya.MFnMesh(node)

  u_util = maya.OpenMaya.MScriptUtil(0.0)
  u_ptr = u_util.asFloatPtr()
  v_util = maya.OpenMaya.MScriptUtil(0.0)
  v_ptr = v_util.asFloatPtr()

  meshFn.getUV(0, u_ptr, v_ptr)

  u = u_util.getFloat(u_ptr)
  v = v_util.getFloat(v_ptr)

When an MScriptUtil object is destroyed any pointers to its data immediately become invalid. Thus the following code will fail because the MScriptUtil objects created by getUVPtrs() will go out of scope and be destroyed when the function returns, rendering the pointers it returns invalid:

  # WRONG!
  def getUVPtrs():
      u_util = maya.OpenMaya.MScriptUtil(0.0)
      u_ptr = u_util.asFloatPtr()
      v_util = maya.OpenMaya.MScriptUtil(0.0)
      v_ptr = v_util.asFloatPtr()
      return [u_ptr, v_ptr]

  uvPtrs = getUVPtrs()
  meshFn.getUV(0, uvPtrs[0], uvPtrs[1])

To work, getUVPtrs() would have to preserve the MScriptUtil objects in some way, such as passing them back to the caller as well:

  # RIGHT!
  def getUVPtrs():
      u_util = maya.OpenMaya.MScriptUtil(0.0)
      u_ptr = u_util.asFloatPtr()
      v_util = maya.OpenMaya.MScriptUtil(0.0)
      v_ptr = v_util.asFloatPtr()
      return [(u_ptr, u_util), (v_ptr, v_util)]

  uvPtrs = getUVPtrs()
  meshFn.getUV(0, uvPtrs[0][0], uvPtrs[1][0])

This class is admittedly cumbersome to use but it provides a way of building parameters and accessing return values for methods which would not otherwise be accessible from Python.

#include <MScriptUtil.h>

List of all members.

Public Member Functions

  MScriptUtil ()
  Default constructor.
  ~MScriptUtil ()
  Destructor.
  MScriptUtil (int value)
  Instantiate class with an int reference.
  MScriptUtil (short value)
  Instantiate class with an short reference.
  MScriptUtil (float value)
  Instantiate class with an float reference.
  MScriptUtil (double value)
  Instantiate class with an double reference.
  MScriptUtil (unsigned int value)
  Instantiate class with an unsigned int reference.
  MScriptUtil (bool value)
  Instantiate class with an bool reference.
  MScriptUtil (const MIntArray &array)
  Instantiate class with an integer array.
  MScriptUtil (const MDoubleArray &array)
  Instantiate class with an double array.
  MScriptUtil (const MUintArray &array)
  Instantiate class with an unsigned integer array.
  MScriptUtil (const MUint64Array &array)
  Instantiate class with an unsigned integer array.
void  createFromInt (int x, int y=0, int z=0, int w=0)
  Create this object from 4 integers.
void  createFromDouble (double x, double y=0, double z=0, double w=0)
  Create this object from 4 doubles.
bool  createFromList (void *pythonList, unsigned int length)
  Create this object with a python list and length.
int  asInt ()
  Return the first item added to this object as an integer.
short  asShort ()
  Return the first item added to this object as a short.
float  asFloat ()
  Return the first item added to this object as a float.
double  asDouble ()
  Return the first item added to this object as a double.
unsigned int  asUint ()
  Return the first item added to this object as a unsigned integer.
bool  asBool ()
  Return the first item added to this object as a bool.
int *  asIntPtr ()
  Return an integer pointer to the data of this class.
short *  asShortPtr ()
  Return a short pointer to the data of this class.
float *  asFloatPtr ()
  Return a float pointer to the data of this class.
double *  asDoublePtr ()
  Return a double pointer to the data of this class.
unsigned int *  asUintPtr ()
  Return an unsigned integer pointer to the data of this class.
bool *  asBoolPtr ()
  Return a bool pointer to the data of this class.
char *  asCharPtr ()
  Return a char pointer to the data of this class.
unsigned char *  asUcharPtr ()
  Return a unsigned char pointer to the data of this class.
Mint2 *  asInt2Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mint3 *  asInt3Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mint4 *  asInt4Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mshort2 *  asShort2Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mshort3 *  asShort3Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mshort4 *  asShort4Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mfloat2 *  asFloat2Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mfloat3 *  asFloat3Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mfloat4 *  asFloat4Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mdouble2 *  asDouble2Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mdouble3 *  asDouble3Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Mdouble4 *  asDouble4Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Muint2 *  asUint2Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Muint3 *  asUint3Ptr ()
  Copy the data to a temporary array of the right type and return its address.
Muint4 *  asUint4Ptr ()
  Copy the data to a temporary array of the right type and return its address.

Static Public Member Functions

static void  setInt (int &var, int value)
  Set an integer reference value.
static void  setShort (short &var, int value)
  Set a short reference value.
static void  setFloat (float &var, double value)
  Set a float reference value.
static void  setDouble (double &var, double value)
  Set a double reference value.
static void  setUint (unsigned int &var, int value)
  Set an unsigned integer reference value.
static void  setBool (bool &var, int value)
  Set a bool reference value.
static void  setChar (char &var, int value)
  Set a char reference value.
static void  setUchar (unsigned char &var, int value)
  Set an unsigned char reference value.
static int  getInt (int &var)
  Get the value of an integer reference.
static int  getShort (short &var)
  Get the value of a short reference.
static double  getFloat (float &var)
  Get the values of a float reference.
static double  getDouble (double &var)
  Get the value of a double reference.
static int  getUint (unsigned int &var)
  Get the value of an unsigned int reference.
static int  getBool (bool &var)
  Get the value of a bool reference.
static int  getChar (char &var)
  Get the value of a char reference.
static int  getUchar (unsigned char &var)
  Get the value of an unsigned char reference.
static bool  setIntArray (int *var, unsigned int index, int value)
  Set an integer value in an array.
static bool  setShortArray (short *var, unsigned int index, int value)
  Set a short value in an array.
static bool  setFloatArray (float *var, unsigned int index, double value)
  Set a float value in an array.
static bool  setDoubleArray (double *var, unsigned int index, double value)
  Set a double value in an array.
static bool  setUintArray (unsigned int *var, unsigned int index, int value)
  Set an unsigned integer value in an array.
static bool  setBoolArray (bool *var, unsigned int index, int value)
  Set a bool value in an array.
static bool  setCharArray (char *var, unsigned int index, int value)
  Set a char value in an array.
static bool  setUcharArray (unsigned char *var, unsigned int index, int value)
  Set an unsigned char value in an array.
static int  getIntArrayItem (int *var, unsigned int index)
  Get a int value from an array.
static int  getShortArrayItem (short *var, unsigned int index)
  Get a short value from an array.
static double  getFloatArrayItem (float *var, unsigned int index)
  Get a float value from an array.
static double  getDoubleArrayItem (double *var, unsigned int index)
  Get a double value from an array.
static int  getUintArrayItem (unsigned int *var, unsigned int index)
  Get an unsigned value from an array.
static int  getBoolArrayItem (bool *var, unsigned int index)
  Get a bool value from an array.
static int  getCharArrayItem (char *var, unsigned int index)
  Get a char value from an array.
static int  getUcharArrayItem (unsigned char *var, unsigned int index)
  Get an unsigned char value from an array.
static bool  createMatrixFromList (void *pythonList, MMatrix &matrix)
  Create an MMatrix object from a list of 16 doubles.
static bool  createFloatMatrixFromList (void *pythonList, MFloatMatrix &matrix)
  Create an MFloatMatrix object from a list of 16 doubles.
static bool  createIntArrayFromList (void *pythonList, MIntArray &array)
  Create an MIntArray object from a python list.
static bool  createFloatArrayFromList (void *pythonList, MFloatArray &array)
  Create an MFloatArray object from a python list.
static int  getInt2ArrayItem (int(*var)[2], unsigned int r, unsigned int c)
  Get a value from the two dimensional array.
static bool  setInt2ArrayItem (int(*var)[2], unsigned int r, unsigned int c, int value)
  Set a value in the two dimensional array.
static int  getInt3ArrayItem (int(*var)[3], unsigned int r, unsigned int c)
  Get a value from the three dimensional array.
static bool  setInt3ArrayItem (int(*var)[3], unsigned int r, unsigned int c, int value)
  Set a value in the three dimensional array.
static int  getInt4ArrayItem (int(*var)[4], unsigned int r, unsigned int c)
  Get a value from the four dimensional array.
static bool  setInt4ArrayItem (int(*var)[4], unsigned int r, unsigned int c, int value)
  Set a value in the four dimensional array.
static short  getShort2ArrayItem (short(*var)[2], unsigned int r, unsigned int c)
  Get a value from the two dimensional array.
static bool  setShort2ArrayItem (short(*var)[2], unsigned int r, unsigned int c, short value)
  Set a value in the two dimensional array.
static short  getShort3ArrayItem (short(*var)[3], unsigned int r, unsigned int c)
  Get a value from the three dimensional array.
static bool  setShort3ArrayItem (short(*var)[3], unsigned int r, unsigned int c, short value)
  Set a value in the three dimensional array.
static short  getShort4ArrayItem (short(*var)[4], unsigned int r, unsigned int c)
  Get a value from the four dimensional array.
static bool  setShort4ArrayItem (short(*var)[4], unsigned int r, unsigned int c, short value)
  Set a value in the two dimensional array.
static float  getFloat2ArrayItem (float(*var)[2], unsigned int r, unsigned int c)
  Get a value from the two dimensional array.
static bool  setFloat2ArrayItem (float(*var)[2], unsigned int r, unsigned int c, float value)
  Set a value in the two dimensional array.
static float  getFloat3ArrayItem (float(*var)[3], unsigned int r, unsigned int c)
  Get a value from the three dimensional array.
static bool  setFloat3ArrayItem (float(*var)[3], unsigned int r, unsigned int c, float value)
  Set a value in the three dimensional array.
static float  getFloat4ArrayItem (float(*var)[4], unsigned int r, unsigned int c)
  Get a value from the four dimensional array.
static bool  setFloat4ArrayItem (float(*var)[4], unsigned int r, unsigned int c, float value)
  Set a value in the four dimensional array.
static double  getDouble2ArrayItem (double(*var)[2], unsigned int r, unsigned int c)
  Get a value from the two dimensional array.
static bool  setDouble2ArrayItem (double(*var)[2], unsigned int r, unsigned int c, double value)
  Set a value in the two dimensional array.
static double  getDouble3ArrayItem (double(*var)[3], unsigned int r, unsigned int c)
  Get a value from the three dimensional array.
static bool  setDouble3ArrayItem (double(*var)[3], unsigned int r, unsigned int c, double value)
  Set a value in the three dimensional array.
static double  getDouble4ArrayItem (double(*var)[4], unsigned int r, unsigned int c)
  Get a value from the four dimensional array.
static bool  setDouble4ArrayItem (double(*var)[4], unsigned int r, unsigned int c, double value)
  Set a value in the four dimensional array.
static unsigned int  getUint2ArrayItem (unsigned int(*var)[2], unsigned int r, unsigned int c)
  Get a value from the two dimensional array.
static bool  setUint2ArrayItem (unsigned int(*var)[2], unsigned int r, unsigned int c, unsigned int value)
  Set a value in the two dimensional array.
static unsigned int  getUint3ArrayItem (unsigned int(*var)[3], unsigned int r, unsigned int c)
  Get a value from the three dimensional array.
static bool  setUint3ArrayItem (unsigned int(*var)[3], unsigned int r, unsigned int c, unsigned int value)
  Set a value in the three dimensional array.
static unsigned int  getUint4ArrayItem (unsigned int(*var)[4], unsigned int r, unsigned int c)
  Get a value from the four dimensional array.
static bool  setUint4ArrayItem (unsigned int(*var)[4], unsigned int r, unsigned int c, unsigned int value)
  Set a value in the four dimensional array.

Constructor & Destructor Documentation

Default constructor.

The instance is set to contain no elements.

MScriptUtil ( int  value )

Instantiate class with an int reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( short  value )

Instantiate class with an short reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( float  value )

Instantiate class with an float reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( double  value )

Instantiate class with an double reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( unsigned int  value )

Instantiate class with an unsigned int reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( bool  value )

Instantiate class with an bool reference.

Parameters:
[in] value Reference to the value.
MScriptUtil ( const MIntArray array )

Instantiate class with an integer array.

Parameters:
[in] array Reference to the array.
MScriptUtil ( const MDoubleArray array )

Instantiate class with an double array.

Parameters:
[in] array Reference to the array.
MScriptUtil ( const MUintArray array )

Instantiate class with an unsigned integer array.

Parameters:
[in] array Reference to the array.
MScriptUtil ( const MUint64Array array )

Instantiate class with an unsigned integer array.

Parameters:
[in] array Reference to the array.

Member Function Documentation

void createFromInt ( int  x,
int  y = 0,
int  z = 0,
int  w = 0 
)

Create this object from 4 integers.

Data already stored in this class will be cleared.

Parameters:
[in] x First integer value.
[in] y Second integer value.
[in] z Third integer value.
[in] w Fourth integer value.
void createFromDouble ( double  x,
double  y = 0,
double  z = 0,
double  w = 0 
)

Create this object from 4 doubles.

Data already stored in this class will be cleared.

Parameters:
[in] x First double value.
[in] y Second double value.
[in] z Third double value.
[in] w Fourth double value.
bool createFromList ( void *  pythonList,
unsigned int  length 
)

Create this object with a python list and length.

For example: scriptUtil.createFromList( (1.0,3.0,5.0,7.0,8.0,10.0,33.0), 7 ) Data already stored in this class will be cleared.

Parameters:
[in] pythonList Python list of numeric values.
[in] length Number of elements in the list.
int * asIntPtr ( )

Return an integer pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

short * asShortPtr ( )

Return a short pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

float * asFloatPtr ( )

Return a float pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

double * asDoublePtr ( )

Return a double pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

unsigned int * asUintPtr ( )

Return an unsigned integer pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

bool * asBoolPtr ( )

Return a bool pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

char * asCharPtr ( )

Return a char pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

unsigned char * asUcharPtr ( )

Return a unsigned char pointer to the data of this class.

NOTE: any previous pointer information returned by this object will be deleted.

Mint2 * asInt2Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 2 int.
Mint3 * asInt3Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 3 int.
Mint4 * asInt4Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 4 int.
Mshort2 * asShort2Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 2 short.
Mshort3 * asShort3Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 3 short.
Mshort4 * asShort4Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 4 short.
Mfloat2 * asFloat2Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 2 float.
Mfloat3 * asFloat3Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 3 float.
Mfloat4 * asFloat4Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 4 float.
Mdouble2 * asDouble2Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 2 double.
Mdouble3 * asDouble3Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 3 double.
Mdouble4 * asDouble4Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 4 double.
Muint2 * asUint2Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 2 unsigned int.
Muint3 * asUint3Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 3 unsigned int.
Muint4 * asUint4Ptr ( )

Copy the data to a temporary array of the right type and return its address.

Ensure that this object has been created with sufficient data.

Warning:
The data pointed to is only valid until the next call to any of the similar asType[234]Ptr methods.
Returns:
A pointer to an array of 4 unsigned int.
void setInt ( int &  var,
int  value 
) [static]

Set an integer reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setShort ( short &  var,
int  value 
) [static]

Set a short reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setFloat ( float &  var,
double  value 
) [static]

Set a float reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setDouble ( double &  var,
double  value 
) [static]

Set a double reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setUint ( unsigned int &  var,
int  value 
) [static]

Set an unsigned integer reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setBool ( bool &  var,
int  value 
) [static]

Set a bool reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setChar ( char &  var,
int  value 
) [static]

Set a char reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
void setUchar ( unsigned char &  var,
int  value 
) [static]

Set an unsigned char reference value.

Parameters:
[out] var Reference to the variable to be assigned.
[in] value Value to assign
int getInt ( int &  var ) [static]

Get the value of an integer reference.

Parameters:
[in] var Reference to the variable to return.
int getShort ( short &  var ) [static]

Get the value of a short reference.

Parameters:
[in] var Reference to the variable to return.
double getFloat ( float &  var ) [static]

Get the values of a float reference.

Parameters:
[in] var Reference to the variable to return.
double getDouble ( double &  var ) [static]

Get the value of a double reference.

Parameters:
[in] var Reference to the variable to return.
int getUint ( unsigned int &  var ) [static]

Get the value of an unsigned int reference.

Parameters:
[in] var Reference to the variable to return.
int getBool ( bool &  var ) [static]

Get the value of a bool reference.

Parameters:
[in] var Reference to the variable to return.
int getChar ( char &  var ) [static]

Get the value of a char reference.

Parameters:
[in] var Reference to the variable to return.
int getUchar ( unsigned char &  var ) [static]

Get the value of an unsigned char reference.

Parameters:
[in] var Reference to the variable to return.
bool setIntArray ( int *  var,
unsigned int  index,
int  value 
) [static]

Set an integer value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setShortArray ( short *  var,
unsigned int  index,
int  value 
) [static]

Set a short value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setFloatArray ( float *  var,
unsigned int  index,
double  value 
) [static]

Set a float value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setDoubleArray ( double *  var,
unsigned int  index,
double  value 
) [static]

Set a double value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setUintArray ( unsigned int *  var,
unsigned int  index,
int  value 
) [static]

Set an unsigned integer value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setBoolArray ( bool *  var,
unsigned int  index,
int  value 
) [static]

Set a bool value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setCharArray ( char *  var,
unsigned int  index,
int  value 
) [static]

Set a char value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
bool setUcharArray ( unsigned char *  var,
unsigned int  index,
int  value 
) [static]

Set an unsigned char value in an array.

Ensure that index is valid before calling this method.

Parameters:
[out] var Array to assign to.
[in] index Index of the element to be modified.
[in] value New value to be assigned.
Returns:
True on success, false otherwise.
int getIntArrayItem ( int *  var,
unsigned int  index 
) [static]

Get a int value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
int getShortArrayItem ( short *  var,
unsigned int  index 
) [static]

Get a short value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
double getFloatArrayItem ( float *  var,
unsigned int  index 
) [static]

Get a float value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
double getDoubleArrayItem ( double *  var,
unsigned int  index 
) [static]

Get a double value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
int getUintArrayItem ( unsigned int *  var,
unsigned int  index 
) [static]

Get an unsigned value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
int getBoolArrayItem ( bool *  var,
unsigned int  index 
) [static]

Get a bool value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
int getCharArrayItem ( char *  var,
unsigned int  index 
) [static]

Get a char value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
int getUcharArrayItem ( unsigned char *  var,
unsigned int  index 
) [static]

Get an unsigned char value from an array.

Ensure that index is valid before calling this method.

Parameters:
[in] var Array to read from.
[in] index Index of the element to be returned.
Returns:
Value of the element.
bool createMatrixFromList ( void *  pythonList,
MMatrix matrix 
) [static]

Create an MMatrix object from a list of 16 doubles.

The pythonList parameter must be a python list (1.0,2.0,...).

Calling this method from C++ is not advised.

Parameters:
[in] pythonList Python list of 16 numeric values.
[out] matrix Resulting matrix.
Returns:
True if the conversion is successful, false otherwise.
bool createFloatMatrixFromList ( void *  pythonList,
MFloatMatrix matrix 
) [static]

Create an MFloatMatrix object from a list of 16 doubles.

The pythonList parameter must be a python list (1.0,2.0,...).

Calling this method from C++ is not advised.

Parameters:
[in] pythonList Python list of 16 numeric values.
[out] matrix Resulting matrix.
Returns:
True if the conversion is successful, false otherwise.
bool createIntArrayFromList ( void *  pythonList,
MIntArray array 
) [static]

Create an MIntArray object from a python list.

The pythonList parameter must be a python list (1.0,2.0,...).

Calling this method from C++ is not advised.

Parameters:
[in] pythonList Python list of 16 numeric values.
[out] array Resulting array.
Returns:
True if the conversion is successful, false otherwise.
bool createFloatArrayFromList ( void *  pythonList,
MFloatArray array 
) [static]

Create an MFloatArray object from a python list.

The pythonList parameter must be a python list (1.0,2.0,...).

Calling this method from C++ is not advised.

Parameters:
[in] pythonList Python list of 16 numeric values.
[out] array Resulting array.
Returns:
True if the conversion is successful, false otherwise.
int getInt2ArrayItem ( int(*)  var[2],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the two dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setInt2ArrayItem ( int(*)  var[2],
unsigned int  r,
unsigned int  c,
int  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
int getInt3ArrayItem ( int(*)  var[3],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the three dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setInt3ArrayItem ( int(*)  var[3],
unsigned int  r,
unsigned int  c,
int  value 
) [static]

Set a value in the three dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
int getInt4ArrayItem ( int(*)  var[4],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the four dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setInt4ArrayItem ( int(*)  var[4],
unsigned int  r,
unsigned int  c,
int  value 
) [static]

Set a value in the four dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
short getShort2ArrayItem ( short(*)  var[2],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the two dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setShort2ArrayItem ( short(*)  var[2],
unsigned int  r,
unsigned int  c,
short  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
short getShort3ArrayItem ( short(*)  var[3],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the three dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setShort3ArrayItem ( short(*)  var[3],
unsigned int  r,
unsigned int  c,
short  value 
) [static]

Set a value in the three dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
short getShort4ArrayItem ( short(*)  var[4],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the four dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setShort4ArrayItem ( short(*)  var[4],
unsigned int  r,
unsigned int  c,
short  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
float getFloat2ArrayItem ( float(*)  var[2],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the two dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setFloat2ArrayItem ( float(*)  var[2],
unsigned int  r,
unsigned int  c,
float  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
float getFloat3ArrayItem ( float(*)  var[3],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the three dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setFloat3ArrayItem ( float(*)  var[3],
unsigned int  r,
unsigned int  c,
float  value 
) [static]

Set a value in the three dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
float getFloat4ArrayItem ( float(*)  var[4],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the four dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setFloat4ArrayItem ( float(*)  var[4],
unsigned int  r,
unsigned int  c,
float  value 
) [static]

Set a value in the four dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
double getDouble2ArrayItem ( double(*)  var[2],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the two dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setDouble2ArrayItem ( double(*)  var[2],
unsigned int  r,
unsigned int  c,
double  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
double getDouble3ArrayItem ( double(*)  var[3],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the three dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setDouble3ArrayItem ( double(*)  var[3],
unsigned int  r,
unsigned int  c,
double  value 
) [static]

Set a value in the three dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
double getDouble4ArrayItem ( double(*)  var[4],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the four dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setDouble4ArrayItem ( double(*)  var[4],
unsigned int  r,
unsigned int  c,
double  value 
) [static]

Set a value in the four dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
unsigned int getUint2ArrayItem ( unsigned int(*)  var[2],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the two dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setUint2ArrayItem ( unsigned int(*)  var[2],
unsigned int  r,
unsigned int  c,
unsigned int  value 
) [static]

Set a value in the two dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
unsigned int getUint3ArrayItem ( unsigned int(*)  var[3],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the three dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setUint3ArrayItem ( unsigned int(*)  var[3],
unsigned int  r,
unsigned int  c,
unsigned int  value 
) [static]

Set a value in the three dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.
unsigned int getUint4ArrayItem ( unsigned int(*)  var[4],
unsigned int  r,
unsigned int  c 
) [static]

Get a value from the four dimensional array.

Ensure that indicies are valid before calling this method.

Parameters:
[in] var Array to read from.
[in] r First index in the array.
[in] c Second index in the array.
Returns:
Value of the element: var[r][c]
bool setUint4ArrayItem ( unsigned int(*)  var[4],
unsigned int  r,
unsigned int  c,
unsigned int  value 
) [static]

Set a value in the four dimensional array.

Ensure that indices are valid before calling this method.

Parameters:
[in] var Array to assign to.
[in] r First index in the array.
[in] c Second index in the array.
[in] value Value to set into the element.
Returns:
True on success, false otherwise.

MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil
MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil MScriptUtil