MIL_ID GeometryOrMatrix3dgeoId,  //in 
MIL_INT64 InquireType,  //in 
void *UserVarPtr  //out 
This function inquires about a specified setting of a 3D geometry object or transformation matrix object.
Note that if the specified 3D geometry object was transformed (for example, using the 3D image processing module), this function returns the modified coordinates and dimensions. In this case, the coordinates and dimensions returned by M3dgeoInquire() might not be the same initial coordinates and dimensions used to define the 3D geometry object.
Specifies the identifier of the 3D geometry object or transformation matrix object about which to inquire information. The object must have been previously allocated using M3dgeoAlloc() with M_GEOMETRY or M_TRANSFORMATION_MATRIX.
See the Parameter associations section for possible values that can be specified.
Specifies the setting to inquire.
See the Parameter associations section for possible values that can be specified.
Specifies the address in which to write the requested information. Since the M3dgeoInquire() function also returns the requested information, you can set this parameter to M_NULL.
See the Parameter associations section for possible values that can be returned.
The tables below list possible values for the GeometryOrMatrix3dgeoId and InquireType parameters and possible values returned to the UserVarPtr parameter.
For any 3D geometry object, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following:
For inquiring about any 3D geometry
object


GeometryOrMatrix3dgeoId  Description  
InquireType  
UserVarPtr  Possible values returned 

3D geometry object ID + 
Specifies a 3D geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY. 

M_GEOMETRY_TYPE + 
Inquires the 3D geometry type. 

UserVarPtr extra info 
Data type info: Data
type: address of a MIL_INT


M_BOX 
Specifies a box. 

M_CYLINDER 
Specifies a cylinder. 

M_LINE 
Specifies a line. 

M_NOT_INITIALIZED 
Specifies that a geometry has not been defined for the 3D geometry object. 

M_PLANE 
Specifies a plane. 

M_SPHERE 
Specifies a sphere. 
For a 3D geometry object of a specific type, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following.
Note that for any 3D geometry object, you can use any inquire type available for its respective geometry type, regardless of the creation mode used to define the geometry.
For inquiring about a specific type of 3D geometry
object



Description  
InquireType  
UserVarPtr  Possible values returned 

3D box geometry object ID + 
Specifies a 3D box geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY and successfully defined as a box. 

Inquires the Xcoordinate of the specified box corner. 

Parameters  
Specifies the index of the box corner. 



UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the specified box corner, expressed in the working coordinate system. 

Inquires the Ycoordinate of the specified box corner. 

Parameters  
Specifies the index of the box corner. 



UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the specified box corner, expressed in the working coordinate system. 

Inquires the Zcoordinate of the specified box corner. 

Parameters  
Specifies the index of the box corner. 



UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the specified box corner, expressed in the working coordinate system. 

M_AXIS_ALIGNED + 
Inquires whether the box is axisaligned with the working coordinate system. 

UserVarPtr extra info 
Data type info: Data
type: address of a MIL_INT


M_FALSE 
Specifies that the box is not axisaligned; a rotation has been applied. 

M_TRUE 
Specifies that the box is axisaligned; no rotation has been applied. 

M_CENTER_X + 
Inquires the Xcoordinate of the box's center point. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the box's center point, expressed in the working coordinate system. 

M_CENTER_Y + 
Inquires the Ycoordinate of the box's center point. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the box's center point, expressed in the working coordinate system. 

M_CENTER_Z + 
Inquires the Zcoordinate of the box's center point. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the box's center point, expressed in the working coordinate system. 

M_CORNER_X_ALL + 
Inquires the Xcoordinate of each of the box's 8 corners, in their index order. 

UserVarPtr extra info 
Data type info: Data
type: array of type MIL_DOUBLE [optionally, in C++:
a reference to a std::vector<MIL_DOUBLE>
]


Value 
Specifies the Xcomponent the box's corner, expressed in the working coordinate system. 

M_CORNER_Y_ALL + 
Inquires the Ycoordinate of each of the box's 8 corners, in their index order. 

UserVarPtr extra info 
Data type info: Data
type: array of type MIL_DOUBLE [optionally, in C++:
a reference to a std::vector<MIL_DOUBLE>
]


Value 
Specifies the Ycomponent the box's corner, expressed in the working coordinate system. 

M_CORNER_Z_ALL + 
Inquires the Zcoordinate of each of the box's 8 corners, in their index order. 

UserVarPtr extra info 
Data type info: Data
type: array of type MIL_DOUBLE [optionally, in C++:
a reference to a std::vector<MIL_DOUBLE>
]


Value 
Specifies the Zcomponent the box's corner, expressed in the working coordinate system. 

M_SIZE_X + 
Inquires the box's length along the Xaxis, ignoring the box's rotation. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value >= 0.0 
Specifies the length of the unrotated box, in world units, along the Xaxis of the working coordinate system. 

M_SIZE_Y + 
Inquires the box's length along the Yaxis, ignoring the box's rotation. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value >= 0.0 
Specifies the length of the unrotated box, in world units, along the Yaxis of the working coordinate system. 

M_SIZE_Z + 
Inquires the box's length along the Zaxis, ignoring the box's rotation. SET 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value >= 0.0 
Specifies the length of the unrotated box, in world units, along the Zaxis of the working coordinate system. 

M_UNROTATED_MAX_X + 
Inquires the box's maximum Xcoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's maximum Xcoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

M_UNROTATED_MAX_Y + 
Inquires the box's maximum Ycoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's maximum Ycoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

M_UNROTATED_MAX_Z + 
Inquires the box's maximum Zcoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's maximum Zcoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

M_UNROTATED_MIN_X + 
Inquires the box's minimum Xcoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's minimum Xcoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

M_UNROTATED_MIN_Y + 
Inquires the box's minimum Ycoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's minimum Ycoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

M_UNROTATED_MIN_Z + 
Inquires the box's minimum Zcoordinate, ignoring the box's rotation. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the box's minimum Zcoordinate, ignoring the box's rotation, expressed in the working coordinate system. 

3D cylinder geometry object ID + 
Specifies a 3D cylinder geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY and successfully defined as a cylinder. 

M_AXIS_X + 
Inquires the Xcomponent of the cylinder's central axis unit vector. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Xcomponent of the cylinder's central axis unit vector, expressed in the working coordinate system. 

M_AXIS_Y + 
Inquires the Ycomponent of the cylinder's central axis unit vector. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Ycomponent of the cylinder's central axis unit vector, expressed in the working coordinate system. 

M_AXIS_Z + 
Inquires the Zcomponent of the cylinder's central axis unit vector. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Zcomponent of the cylinder's central axis unit vector, expressed in the working coordinate system. 

M_CENTER_X + 
Inquires the Xcoordinate of the center point on the cylinder's central axis. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the center point on the cylinder's central axis, expressed in the working coordinate system. 

M_CENTER_Y + 
Inquires the Ycoordinate of the center point on the cylinder's central axis. 

UserVarPtr extra info 
Data type info: Data
type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the center point on the cylinder's central axis, expressed in the working coordinate system. 

M_CENTER_Z + 
Inquires the Zcoordinate of the center point on the cylinder's central axis. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the center point on the cylinder's central axis, expressed in the working coordinate system. 

M_END_POINT_X + 
Inquires the Xcoordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the cylinder's end point, expressed in the working coordinate system. 

M_END_POINT_Y + 
Inquires the Ycoordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the cylinder's end point, expressed in the working coordinate system. 

M_END_POINT_Z + 
Inquires the Zcoordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the cylinder's end point, expressed in the working coordinate system. 

M_LENGTH + 
Inquires the cylinder's length. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


M_INFINITE 
Specifies that the cylinder is infinite. 

Value >= 0.0 
Specifies the cylinder's length in world units. 

M_RADIUS + 
Inquires the cylinder's radius. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value >= 0.0 
Specifies the cylinder's radius in world units. 

M_START_POINT_X + 
Inquires the Xcoordinate of the cylinder's start point on the cylinder's central axis. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system. 

M_START_POINT_Y + 
Inquires the Ycoordinate of the cylinder's start point on the cylinder's central axis. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system. 

M_START_POINT_Z + 
Inquires the Zcoordinate of the cylinder's start point on the cylinder's central axis. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system. 

3D line geometry object ID + 
Specifies a 3D line geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY and successfully defined as a line. 

M_AXIS_X + 
Inquires the Xcomponent of the line's direction unit vector. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Xcomponent of the line's direction unit vector, expressed in the working coordinate system. 

M_AXIS_Y + 
Inquires the Ycomponent of the line's direction unit vector. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Ycomponent of the line's direction unit vector, expressed in the working coordinate system. 

M_AXIS_Z + 
Inquires the Zcomponent of the line's direction unit vector. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Zcomponent of the line's direction unit vector, expressed in the working coordinate system. 

M_CENTER_X + 
Inquires the Xcoordinate of the line's center point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the center point on the line, expressed in the working coordinate system. 

M_CENTER_Y + 
Inquires the Ycoordinate of the line's center point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the center point on the line, expressed in the working coordinate system. 

M_CENTER_Z + 
Inquires the Zcoordinate of the line's center point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the center point on the line, expressed in the working coordinate system. 

M_END_POINT_X + 
Inquires the Xcoordinate of the line's end point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the line's end point, expressed in the working coordinate system. 

M_END_POINT_Y + 
Inquires the Ycoordinate of the line's end point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the line's end point, expressed in the working coordinate system. 

M_END_POINT_Z + 
Inquires the Zcoordinate of the line's end point. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the line's end point, expressed in the working coordinate system. 

M_LENGTH + 
Inquires the line's length. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


M_INFINITE 
Specifies that the line is infinite. 

Value >= 0.0 
Specifies the line's length in world units. 

M_START_POINT_X + 
Inquires the Xcoordinate of the line's start point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the first point used to define the line, expressed in the working coordinate system. 

M_START_POINT_Y + 
Inquires the Ycoordinate of the line's start point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the first point used to define the line, expressed in the working coordinate system. 

M_START_POINT_Z + 
Inquires the Zcoordinate of the line's start point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the first point used to define the line, expressed in the working coordinate system. 

3D plane geometry object ID + 
Specifies a 3D plane geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY and successfully defined as a plane. 

M_CLOSEST_TO_ORIGIN_X + 
Inquires the Xcoordinate of the point on the plane closest to the origin of the working coordinate system. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the point on the plane closest to the origin of the working coordinate system. 

M_CLOSEST_TO_ORIGIN_Y + 
Inquires the Ycoordinate of the point on the plane closest to the origin of the working coordinate system. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the point on the plane closest to the origin of the working coordinate system. 

M_CLOSEST_TO_ORIGIN_Z + 
Inquires the Zcoordinate of the point on the plane closest to the origin of the working coordinate system. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the point on the plane closest to the origin of the working coordinate system. 

M_COEFFICIENT_A + 
Inquires the coefficient A of the plane equation, Ax + By + Cz + D = 0. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the coefficient A of the plane equation. 

M_COEFFICIENT_B + 
Inquires the coefficient B of the plane equation, Ax + By + Cz + D = 0. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the coefficient B of the plane equation. 

M_COEFFICIENT_C + 
Inquires the coefficient C of the plane equation, Ax + By + Cz + D = 0. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the coefficient C of the plane equation. 

M_COEFFICIENT_D + 
Inquires the coefficient D of the plane equation, Ax + By + Cz + D = 0. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the coefficient D of the plane equation. 

M_NORMAL_X + 
Inquires the Xcomponent of the plane's normal unit vector. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Xcomponent of the plane's normal unit vector, expressed in the working coordinate system. 

M_NORMAL_Y + 
Inquires the Ycomponent of the plane's normal unit vector. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Ycomponent of the plane's normal unit vector, expressed in the working coordinate system. 

M_NORMAL_Z + 
Inquires the Zcomponent of the plane's normal unit vector. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


1.0 >= Value >= 1.0 
Specifies the Zcomponent of the plane's normal unit vector, expressed in the working coordinate system. 

3D sphere geometry object ID + 
Specifies a 3D sphere geometry object, allocated using M3dgeoAlloc() with M_GEOMETRY and successfully defined as a sphere. 

M_CENTER_X + 
Inquires the Xcoordinate of the sphere's center point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Xcoordinate of the sphere's center point, expressed in the working coordinate system. 

M_CENTER_Y + 
Inquires the Ycoordinate of the sphere's center point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Ycoordinate of the sphere's center point, expressed in the working coordinate system. 

M_CENTER_Z + 
Inquires the Zcoordinate of the sphere's center point. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value 
Specifies the Zcoordinate of the sphere's center point, expressed in the working coordinate system. 

M_RADIUS + 
Inquires the sphere's radius. SET 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE


Value >= 0.0 
Specifies the sphere's radius in world units. 
For any transformation matrix object, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following:
For inquiring about any transformation matrix
object



Description  
InquireType  
UserVarPtr  Possible values returned 

Transformation matrix object ID + 
Specifies a transformation matrix object, allocated using M3dgeoAlloc() with M_TRANSFORMATION_MATRIX. 

M_AFFINE + 
Inquires whether the transformation matrix object is an affine transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not an affine transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is an affine transformation matrix. 

M_AXIS_ALIGNED + 
Inquires whether the transformation matrix object is an axisaligned transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not an axisaligned transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is an axisaligned transformation matrix. 

M_IDENTITY + 
Inquires whether the transformation matrix object is an identity transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not an identity matrix. 

M_TRUE 
Specifies that the transformation matrix object is an identity matrix. 

M_MIRROR + 
Inquires whether the transformation matrix object preserves the handedness of the coordinate system. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that applying the transformation matrix object will flip the handedness of the coordinate system. 

M_TRUE 
Specifies that applying the transformation matrix object preserves the handedness of the coordinate system. 

M_RIGID + 
Inquires whether the transformation matrix object is a rigid transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a rigid transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a rigid transformation matrix. 

M_ROTATION + 
Inquires whether the transformation matrix object is a rotation transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a rotation transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a rotation transformation matrix. 

M_SCALE + 
Inquires whether the transformation matrix object is a scale transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a scale transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a scale transformation matrix. 

M_SCALE_UNIFORM + 
Inquires whether the transformation matrix object is a uniform scale transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a uniform scale transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a uniform scale transformation matrix. 

M_SIMILARITY + 
Inquires whether the transformation matrix object is a similarity transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a similarity transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a similarity transformation matrix. 

M_TRANSFORMATION_TYPE + 
Inquires the transformation matrix object's transformation type. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_AFFINE 
Specifies an affine transformation matrix. 

M_AXIS_ALIGNED 
Specifies an axisaligned transformation matrix. 

M_IDENTITY 
Specifies an identity transformation matrix. 

M_PROJECTION 
Specifies a projection transformation matrix. 

M_RIGID 
Specifies a rigid transformation matrix. 

M_ROTATION 
Specifies a rotation transformation matrix. 

M_SCALE 
Specifies a scale transformation matrix. 

M_SCALE_UNIFORM 
Specifies a uniform scale transformation matrix. 

M_SIMILARITY 
Specifies a similarity transformation matrix. 

M_TRANSLATION 
Specifies a translation transformation matrix. 

M_TRANSLATION + 
Inquires whether the transformation matrix object is a translation transformation matrix. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the transformation matrix object is not a translation transformation matrix. 

M_TRUE 
Specifies that the transformation matrix object is a translation transformation matrix. 
You can add the following value to the abovementioned values to determine whether an inquire type is supported.
For inquiring whether an inquire type is
supported


GeometryOrMatrix3dgeoId  Description  
InquireType  
UserVarPtr  Possible values returned 

M_SUPPORTED 
Inquires whether the specified inquire type is supported. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT


M_FALSE 
Specifies that the inquire type is not supported. 

M_TRUE 
Specifies that the inquire type is supported. 
You can add one of the following values to the abovementioned values to cast the requested information to the required data type.
Note: In C++, when using a standard vector (std::vector) instead of an array, the values listed in this combination table must not be used. If you need to use a specific data type, instantiate the vector with the necessary data type.
For specifying the data type


GeometryOrMatrix3dgeoId  Description  
InquireType  
UserVarPtr  Possible values returned 

M_TYPE_MIL_DOUBLE 
Casts the requested information to a MIL_DOUBLE. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_DOUBLE  array of type
MIL_DOUBLE [optionally, in C++: a reference to a std::vector<MIL_DOUBLE>
]


M_TYPE_MIL_FLOAT 
Casts the requested information to a MIL_FLOAT. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_FLOAT  array of type
MIL_FLOAT [optionally, in C++: a reference to a std::vector<MIL_FLOAT>
]


M_TYPE_MIL_INT 
Casts the requested information to a MIL_INT. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT  array of type
MIL_INT [optionally, in C++: a reference to a std::vector<MIL_INT>
]


M_TYPE_MIL_INT32 
Casts the requested information to a MIL_INT32. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT32  array of type
MIL_INT32 [optionally, in C++: a reference to a std::vector<MIL_INT32>
]


M_TYPE_MIL_INT64 
Casts the requested information to a MIL_INT64. 

UserVarPtr extra info 
Data type info:
Data type: address of a
MIL_INT64  array of type
MIL_INT64 [optionally, in C++: a reference to a std::vector<MIL_INT64>
]

Header  Include mil.h. 
Library  Use mil.lib; mil3d.lib. 
DLL  Requires mil.dll; mil3d.dll. 