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 Length,  //in 
MIL_INT64 ControlFlag  //in 
This function defines an arbitrary 3D line geometry object. You can translate, rotate, scale, or transform the resulting line, using the 3D image processing module.
You can use the resulting line to, for example, 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 line 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 line, 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 line is defined.
See the Parameter associations section for possible values that can be specified.
Specifies the Xcoordinate of the first point used to define the line.
See the Parameter associations section for possible values that can be specified.
Specifies the Ycoordinate of the first point used to define the line.
See the Parameter associations section for possible values that can be specified.
Specifies the Zcoordinate of the first point used to define the line.
See the Parameter associations section for possible values that can be specified.
Specifies the Xcoordinate of the second point used to define the line, or the Xcomponent of the vector defining the line's direction and length (if Length is M_DEFAULT).
See the Parameter associations section for possible values that can be specified.
Specifies the Ycoordinate of the second point used to define the line, or the Ycomponent of the vector defining the line's direction and length (if Length is M_DEFAULT).
See the Parameter associations section for possible values that can be specified.
Specifies the Zcoordinate of the second point used to define the line, or the Zcomponent of the vector defining the line's direction and length (if Length is M_DEFAULT).
See the Parameter associations section for possible values that can be specified.
Specifies to override the default line length.
For specifying to override the default line
length


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

M_INFINITE 
Specifies an infinite line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value >= 0.0 
Specifies to override the line'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 line INQ



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

XPos1 
Specifies the Xcoordinate of the point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcoordinate of the first point on the line. 

YPos1 
Specifies the Ycoordinate of the point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycoordinate of the first point on the line. 

ZPos1 
Specifies the Zcoordinate of the point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcoordinate of the first point on the line. 

XPos2OrVector 
Specifies the Xcomponent of the vector defining the line's direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcomponent of the vector defining the line's direction. 

YPos2OrVector 
Specifies the Ycomponent of the vector defining the line's direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycomponent of the vector defining the line's direction. 

ZPos2OrVector 
Specifies the Zcomponent of the vector defining the line's direction. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcomponent of the vector defining the line's direction. 

M_TWO_POINTS 
Defines the line using any two nonidentical points. 

XPos1 
Specifies the Xcoordinate of the first point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Xcoordinate of the first point on the line. 

YPos1 
Specifies the Ycoordinate of the first point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Ycoordinate of the first point on the line. 

ZPos1 
Specifies the Zcoordinate of the first point on the line. 

M_UNCHANGED 
Specifies to use the previouslydefined value. 

Value 
Specifies the Zcoordinate of the first point on the line. 

XPos2OrVector 
Specifies the Xcoordinate of the second point on the line. 

YPos2OrVector 
Specifies the Ycoordinate of the second point on the line. 

ZPos2OrVector 
Specifies the Zcoordinate of the second point on the line. 
Header  Include mil.h. 
Library  Use mil.lib; mil3d.lib. 
DLL  Requires mil.dll; mil3d.dll. 