Class Insert_ (unit DXF_structs) |
Inherits from
Point_
///////////////////////////////////////////////////////////////////////////// Insert Definition (optionally contains attribs) /////////////////////////////////////////////////////////////////////////////
constructor create(OCSaxis,p,s_f:Point3D; rot:double; col:integer; numatts:integer; atts:patt_array; block:string);
- to cross reference the blocks
///////////////////////////////////////////////////////////////////////////// Insert /////////////////////////////////////////////////////////////////////////////
function block : Block_;
instead of searching for the block every time it's needed, we'll store the object pointer after the first time it's used, and return it when needed.
destructor destroy;
function details : string;
we mustn't use the update_transformations call because inserts may be nested inside blocks inside other blocks, and update_transformations uses a temp fixed matrix which will be overwritten.
procedure Draw(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);
this bit every subsequent time
procedure init_OCS_WCS_matrix(OCSaxis:Point3D);
procedure max_min_extents(var emax,emin:Point3D);
procedure update_block_links(blist:TObject);
inserts always have a transformation matrix - to allow the translation even when the other parameters are defauls
procedure write_to_DXF(var IO:textfile; layer:string);
attribs : array[0..max_attribs] of Attrib_;
blocklist : TObject;
use carefully
blockname : string;
blockptr : Block_;
num_attribs : integer;
rotation : double;
scale : Point3D;
constructor create(OCSaxis,p,s_f:Point3D; rot:double; col:integer; numatts:integer; atts:patt_array; block:string);
to cross reference the blocks
///////////////////////////////////////////////////////////////////////////// Insert /////////////////////////////////////////////////////////////////////////////
function block : Block_;
instead of searching for the block every time it's needed, we'll store the object pointer after the first time it's used, and return it when needed. Only use this function to access it - for safety.
destructor destroy;
function details : string;
we mustn't use the update_transformations call because inserts may be nested inside blocks inside other blocks, and update_transformations uses a temp fixed matrix which will be overwritten.
procedure Draw(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);
this bit every subsequent time
procedure init_OCS_WCS_matrix(OCSaxis:Point3D);
procedure max_min_extents(var emax,emin:Point3D);
procedure update_block_links(blist:TObject);
inserts always have a transformation matrix - to allow the translation even when the other parameters are defauls
procedure write_to_DXF(var IO:textfile; layer:string);
attribs : array[0..max_attribs] of Attrib_;
blocklist : TObject;
use carefully
blockname : string;
blockptr : Block_;
num_attribs : integer;
rotation : double;
scale : Point3D;