All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

SPAfct Class STL_MESH_MANAGER

SPAbase.ACIS_OBJECT
  |
  +---SPAfct.MESH_MANAGER
    |
    +---STL_MESH_MANAGER
 

Usage: you can derive this class.


public class STL_MESH_MANAGER

Writes data to an stl formatted file.

Role: The STL_MESH_MANAGER uses the "global indexed" protocol to write data to an stl formatted file. The application must identify the output file by calling the member function set_output_file.

See also:
REFINEMENT


Constructor and Destructor Index


o STL_MESH_MANAGER(REFINEMENT*)
C++ constructor, creating a STL_MESH_MANAGER using the specified parameters.
o ~STL_MESH_MANAGER()
C++ destructor, deleting a STL_MESH_MANAGER.

Method Index


o announce_counts(int,int,int)
Announces the number of polygons, nodes, and node references by polygons.
o announce_global_node(int,EDGE*,SPAposition&,double)
Announces a node on a model EDGE with its curve parameter.
o announce_global_node(int,FACE*,SPAposition&,SPApar_pos&)
Announces a node on a model FACE with its surface parameters.
o announce_global_node(int,VERTEX*,SPAposition&)
Announces a node on a model VERTEX.
o announce_indexed_polynode(ENTITY*,int,int,void*)
Return the number of indexes.
o announce_indexed_polynode(ENTITY*,int,int,void*,double&,SPApar_pos&,SPAposition&,SPAunit_vector&)
Return the number of indexes.
o announce_indexed_polynode(int,int,void*)
Return the number of indexes.
o check_applicable_refinement(ENTITY*,AF_SURF_MODE,REFINEMENT*&)
Check for the applicable refinement.
o end_global_mesh_output(ENTITY*)
Terminates global mesh output.
o end_indexed_polygon(int)
This matches the immediately preceding call to start_indexed_polygon and the (multiple) calls to announce_indexed_polynode.
o need_global_indexed_polygons()
Get the globally indexed polygons.
o need_precount_of_global_indexed_polygons()
If this function returns TRUE, the number of polygons, nodes, and node references by polygons are announced before other output.
o null_node_id()
Returns the node id value that is guaranteed to be invalid.
o set_output_file(FILE*)
Set the output file.
o start_indexed_polygon(int,int,int)
Start the index.

Constructor and Destructor


o STL_MESH_MANAGER
public STL_MESH_MANAGER(REFINEMENT* R=NULL)
C++ constructor, creating a STL_MESH_MANAGER using the specified parameters.

Parameters:
R
refinement.
o ~STL_MESH_MANAGER
public ~STL_MESH_MANAGER()
C++ destructor, deleting a STL_MESH_MANAGER.

Methods


o announce_counts
public virtual void announce_counts(int npoly,
int nnode,
int npolynode)
Announces the number of polygons, nodes, and node references by polygons.

Parameters:
npoly
number of polygons to follow.
nnode
# nodes to follow.
npolynode
number of nodes when counted each time they are used by a polygon.
o announce_global_node
public virtual void * announce_global_node(int inode,
EDGE* edge,
const SPAposition& iX,
double t)
Announces a node on a model EDGE with its curve parameter.

Parameters:
inode
integer.
edge
edge.
iX
node coordinates.
t
curve parameter.
o announce_global_node
public virtual void * announce_global_node(int inode,
FACE* face,
const SPAposition& iX,
const SPApar_pos& uv)
Announces a node on a model FACE with its surface parameters.

Parameters:
inode
integer.
face
face.
iX
node coordinates.
uv
surface parameter.
o announce_global_node
public virtual void * announce_global_node(int inode,
VERTEX* ver,
const SPAposition& iX)
Announces a node on a model VERTEX.

Parameters:
inode
integer.
ver
vertex.
iX
node coordinates.
o announce_indexed_polynode
public virtual void announce_indexed_polynode(ENTITY* ent,
int ipoly,
int i,
void* pnode)
Return the number of indexes.

Parameters:
ent
coedge along the edge following the polynode.
ipoly
polygon index.
i
local node index.
pnode
node identifier.
o announce_indexed_polynode
public virtual void announce_indexed_polynode(ENTITY* E,
int ipoly,
int i,
void* id,
const double& edge_tpar,
const SPApar_pos& uv,
const SPAposition& X_arg,
const SPAunit_vector& N)
Return the number of indexes.

Parameters:
E
coedge along the edge following the polynode.
ipoly
polygon index.
i
local node index.
id
node identifier.
edge_tpar
if the node lies on an edge then returns tpar.
uv
parametric coordinates.
X_arg
Cartesian coordinates.
N
surface normal.
o announce_indexed_polynode
public virtual void announce_indexed_polynode(int ipoly,
int i,
void* pnode)
Return the number of indexes.

Parameters:
ipoly
0-based polygon index. Same as immediately preceding call to start_indexed_polygon.
i
0-based counter within the polygon. This increments sequentially on successive calls.
pnode
Node identifier as previously rcvd from announce_indexed_node.
o check_applicable_refinement
public virtual void check_applicable_refinement(ENTITY* refent,
AF_SURF_MODE surfmode,
REFINEMENT*& ref)
Check for the applicable refinement.

Parameters:
refent
entity with refinement.
surfmode
refinement surface type.
ref
refinement.
o end_global_mesh_output
public virtual void end_global_mesh_output(ENTITY* topent)
Terminates global mesh output.

Parameters:
topent
Top level entity being faceted.
o end_indexed_polygon
public virtual void end_indexed_polygon(int ipoly)
This matches the immediately preceding call to start_indexed_polygon and the (multiple) calls to announce_indexed_polynode.

Parameters:
ipoly
polygon index.
o need_global_indexed_polygons
public virtual logical need_global_indexed_polygons()
Get the globally indexed polygons.
o need_precount_of_global_indexed_polygons
public virtual logical need_precount_of_global_indexed_polygons()
If this function returns TRUE, the number of polygons, nodes, and node references by polygons are announced before other output.

Role: The default returns FALSE.
o null_node_id
public virtual void * null_node_id()
Returns the node id value that is guaranteed to be invalid.

Role: Applications using indices will typically return -1. Applications using pointers will typically return 0. The default returns -1.
o set_output_file
public void set_output_file(FILE* fp= stdout)
Set the output file.

Parameters:
fp
file.
o start_indexed_polygon
public virtual void start_indexed_polygon(int ipoly,
int npolynode,
int ishare=-2 )
Start the index.

Parameters:
ipoly
polygon index.
npolynode
number of polynodes.
ishare
info about which edge of previous polygon is shared with this one.

This object is included in the file: stlmmg.hxx

Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.