MIL_ID Geometry3dgeoId,  //in 
MIL_INT64 CreationMode,  //in 
MIL_DOUBLE XPos1,  //in 
MIL_DOUBLE YPos1,  //in 
MIL_DOUBLE ZPos1,  //in 
MIL_DOUBLE XPos2OrVector,  //in 
MIL_DOUBLE YPos2OrVector,  //in 
MIL_DOUBLE ZPos2OrVector,  //in 
MIL_DOUBLE Radius,  //in 
MIL_DOUBLE Length,  //in 
MIL_INT64 ControlFlag  //in 
This function defines an arbitrary right circular 3D cylinder geometry object. You can translate, rotate, scale, or transform the resulting cylinder, using the 3D image processing module.
You can use the resulting cylinder to, for example, crop a point cloud or perform an arithmetic operation on a depth map using the 3D image processing module, or calculate its distance from each point in a point cloud using the 3D metrology module.
If you want to define a cylinder geometry object from results obtained in a different module, you can use the copy function of that module.
All coordinates are expressed in world units in the working coordinate system.
Note that if Geometry3dgeoId specifies a previouslydefined cylinder, you can leave some of its attributes unchanged, even if that attribute was set using a different creation mode or was modified using the 3D image processing module. To do so, set the corresponding parameter to M_UNCHANGED.
Specifies the identifier of the 3D geometry object, previously allocated on the required system using M3dgeoAlloc() with M_GEOMETRY.
Specifies how the cylinder is defined.
See the Parameter associations section for possible values that can be specified.
Specifies the Xcoordinate of a point on the cylinder's central axis.
See the Parameter associations section for possible values that can be specified.
Specifies the Ycoordinate of a point on the cylinder's central axis.
See the Parameter associations section for possible values that can be specified.
Specifies the Zcoordinate of a point on the cylinder's central axis.
See the Parameter associations section for possible values that can be specified.
Specifies the Xcoordinate of the cylinder's second defining point, or the Xcomponent of the cylinder's central axis vector.
See the Parameter associations section for possible values that can be specified.
Specifies the Ycoordinate of the cylinder's second defining point, or the Ycomponent of the cylinder's central axis vector.
See the Parameter associations section for possible values that can be specified.
Specifies the Zcoordinate of the cylinder's second defining point, or the Zcomponent of the cylinder's central axis vector.
See the Parameter associations section for possible values that can be specified.
Specifies the cylinder's radius.
For specifying the cylinder's radius


Value  Description  
M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value > 0.0 
Specifies the cylinder's radius. 
Specifies to override the default cylinder length.
For specifying to override the default cylinder
length


Value  Description  
M_DEFAULT 
Specifies the default length defined by the creation mode. 

M_INFINITE 
Specifies an infinite cylinder. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value >= 0.0 
Specifies to override the cylinder's length with a specific value. 
The table below lists possible values for the CreationMode, XPos1, YPos1, ZPos1, XPos2OrVector, YPos2OrVector, and ZPos2OrVector parameters.
For specifying the cylinder INQ



Description  
XPos1  
YPos1  
ZPos1  
XPos2OrVector  
YPos2OrVector  
ZPos2OrVector  
M_POINT_AND_VECTOR 
Defines the cylinder using a point on the cylinder's central axis and a nonzero vector defining the central axis direction. 

XPos1 
Specifies the Xcoordinate of the point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcoordinate of the first point on the cylinder's central axis. 

YPos1 
Specifies the Ycoordinate of the point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycoordinate of the first point on the cylinder's central axis. 

ZPos1 
Specifies the Zcoordinate of the point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcoordinate of the first point on the cylinder's central axis. 

XPos2OrVector 
Specifies the Xcomponent of the vector defining the central axis direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcomponent of the vector defining the central axis direction. 

YPos2OrVector 
Specifies the Ycomponent of the vector defining the central axis direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycomponent of the vector defining the central axis direction. 

ZPos2OrVector 
Specifies the Zcomponent of the vector defining the central axis direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcomponent of the vector defining the central axis direction. 

M_TWO_POINTS 
Defines the cylinder using any two nonidentical points on the cylinder's central axis. 

XPos1 
Specifies the Xcoordinate of the first point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcoordinate of the first point on the cylinder's central axis. 

YPos1 
Specifies the Ycoordinate of the first point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycoordinate of the first point on the cylinder's central axis. 

ZPos1 
Specifies the Zcoordinate of the first point on the cylinder's central axis. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcoordinate of the first point on the cylinder's central axis. 

XPos2OrVector 
Specifies the Xcoordinate of the second point on the cylinder's central axis. 

YPos2OrVector 
Specifies the Ycoordinate of the second point on the cylinder's central axis. 

ZPos2OrVector 
Specifies the Zcoordinate of the second point on the cylinder's central axis. 
Header  Include mil.h. 
Library  Use mil.lib; mil3d.lib. 
DLL  Requires mil.dll; mil3d.dll. 