Unit DXF_Utils |
///////////////////////////////////////////////////////////////////////////// // Assorted routines for DXF project // ŠJohn Biddiscombe // Rutherford Appleton Laboratory, UK // j.biddiscombe@rl.ac.uk // DXF code release 3.0 - July 1997 // // /////////////////////////////////////////////////////////////////////////////
Classes |
Functions |
allocate_matrix -
allocate_points - ///////////////////////////////////////////////////////////////////////////// Memory /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Memory /////////////////////////////////////////////////////////////////////////////
angle -
aPoint3D - ///////////////////////////////////////////////////////////////////////////// General point 3D stuff /////////////////////////////////////////////////////////////////////////////
BoolToStr -
CreateTransformation - Matrix order : For reference
start with a point at ( cos(30),sin(30),0 )
rotate by 30 degrees - shifts point to (1,0,0)
then translate by (10,0,0) shifts to (11,0,0)
then rotate by -45 degrees goes to (7.
cross -
deallocate_matrix -
deallocate_points -
dist2D -
dist3D -
dmax -
dmin -
dot - ///////////////////////////////////////////////////////////////////////////// Vector 3D stuff /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Vector 3D stuff /////////////////////////////////////////////////////////////////////////////
float_out - ///////////////////////////////////////////////////////////////////////////// String /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// String /////////////////////////////////////////////////////////////////////////////
imax -
imin -
mag -
MatrixMultiply -
max_bound - ///////////////////////////////////////////////////////////////////////////// Bounds /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Bounds /////////////////////////////////////////////////////////////////////////////
min_bound -
normalize -
p1_eq_p2_2D -
p1_eq_p2_3D -
p1_minus_p2 -
p1_plus_p2 -
p1_x_n -
Point3DToStr - result := FloatToStr(f);
RotationAxis -
ScaleMatrix -
set_accuracy -
sq_dist2D -
sq_dist3D -
sq_mag3D -
TransformPoint -
TranslateMatrix -
update_transformations -
XRotateMatrix - ///////////////////////////////////////////////////////////////////////////// Rotations for Insert/Block drawing /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Rotations for Insert/Block drawing /////////////////////////////////////////////////////////////////////////////
YRotateMatrix -
ZRotateMatrix -
Types |
Matrix
pM
pMatrix
Point2D
Point3D
pointlist
PPoint3D
ppointlist
Constants |
identity
origin3D
WCS_X
WCS_Y
WCS_Z
Variables |
Functions |
///////////////////////////////////////////////////////////////////////////// Memory /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Vector 3D stuff /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// String /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Bounds /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// Rotations for Insert/Block drawing /////////////////////////////////////////////////////////////////////////////
Types |
Matrix = record
val : array[0..3,0..3] of double;
end;
pM = pMatrix
pMatrix = ^Matrix
Point2D = record
x : Double;
y : Double;
end;
Point3D = record
x : double;
y : double;
z : double;
end;
pointlist = array[0..0] of Point3D;
PPoint3D = ^Point3D
ppointlist = ^pointlist
Constants |
Variables |