Constructive Functions
TdOMakeObject
Name
Make an object
CSpecification
int TdOMakeObject(int *object, int region)
Parameters
object |
specifies the object identifier. |
region |
specifies the identifier of the region, where the object
should be placed |
Description
This function creates a new object entry in the data structure.
If the value of region is 0 (zero), it is considered that it is a unbounded one.
Notes
If the value of parameter object is 0 (zero), TDM returns
a valid ID. Otherwise, the identifier of the new object is object.
Errors
O (zero) is returned if no error occurs.
0L>
See Also
TdVMakeVertexComponent
Name
Make a first vertex of a component
CSpecification
int TdVMakeVertexComponent (int *vertex, int object, int region, int *component)
Parameters
vertex |
specifies the vertex identifier. |
object |
specifies the identifier of the object to which the vertex should be aggregated. |
region |
specifies the identifier of the region where the new vertex should be placed. |
component |
specifies the identifier of the new component. |
Description
This function creates a vertex in an specified region.
It builds a new component which is aggregated to an already existing
object.
If
region=0, then it is unbounded; otherwise it must be defined
before.
When vertex=0 or component=0, then TDM generates
internally an identifier and returns it.
Notes
Errors
O (zero) is returned if no error occurs.
See Also
TdVMakeVertexSplitEdge
Name
Make a vertex on an edge
CSpecification
int TdVMakeVertexSplitedge (int *vertex, int edge, int *new_elem, int *chain)
Parameters
vertex |
specifies the vertex identifier. |
edge |
specifies the identifier of the edge to be splitted. |
new_elem |
specifies the identifier of the new edge. |
chain |
specifies the identifier of the new chain. |
Description
This function creates a vertex on an specified edge in such
a way that this edge is splitted into two. The identifier of the new edge is
new_elem. If new_elem=0, then TDM generates
internally an appropriate identifier and returns it.
Notes
For simplicity, the new edge is aggregated to a new chain chain.
If chain=0, then TDM generates
internally an appropriate identifier and returns it.
It is recommended to use TdEAGetVertices
to check how TDM
aggregates internally the vertices to the newly created edge.
Errors
O (zero) is returned if no error occurs.
See Also
TdEMakeEdgeVertex
Name
Make a edge and a vertex from an existing vertex
CSpecification
int TdEMakeEdgeVertex(int vertex1, int region, int *edge, int
*vertex2, int *chain)
Parameters
vertex1 |
specifies the existing vertex identifier. |
region |
specifies the identifier of the region, where the edge
should be placed |
edge |
specifies the edge identifier. |
vertex2 |
specifies the vertex identifier. |
chain |
specifies the chain identifier. |
Description
This function appends a new edge to the already
defined vertex, vertex1. Another extreme vertex
of edge, vertex2, is also created. If edge=0
and vertex2=0, TDM generates internally an appropriate
identifier and returns it. The spatial
location of edge is given by region. It
could be a face, a "filled" volume or a "unfilled" 3D space. If
region=0, it is a unbounded 3D "unfilled" space.
Notes
For simplicity, each edge is implemented as a chain in order
to avoid special handling of bifurcations. A set of
edges is merged to one cycle, only if they build a closed curve.
Errors
O (zero) is returned if no error occurs.
See Also
TdEMakeEdgeFace
Name
Make a new face by inserting an edge
.
CSpecification
int TdEMakeEdgeFace (int eqty, int elist[], int *edge, int *face, int n_genus, int region)
Parameters
eqty |
specifies the quantity of edges in elist. |
elist |
specifies the identifiers of a "path" of edges. |
edge |
specifies the new edge identifier. |
face |
specifies the face identifier. |
n_genus |
specifies the quantity of genus in the face. |
region |
specifies the identifier of the region, where the face
should be placed. |
Description
The new face face is created by closing the sequence of
edges, elist, with the edge edge. To maintain
the topological consistency the number
of genus of the new face and the region where the face
should be placed are required. When region=0,
it is considered that the new face is placed in the unbounded one.
If edge=0 or face=0, then TDM generates internally
appropriate identifiers and returns them.
Notes
Errors
O (zero) is returned if no error occurs.
See Also
TdEMakeEdgeCycle
Name
Make a topological cycle by inserting an edge
CSpecification
int TdEMakeEdgeCycle (int eqty, int elist[], region, *edge, *cycle)
Parameters
eqty |
specifies the quantity of edges/vertices in elist. |
elist |
specifies the identifiers of a "path" of edges/vertices. |
region |
specifies the identifier of the region, where the topological
cycle should be placed |
edge |
specifies the edge identifier. |
cycle |
specifies the cycle identifier. |
Description
The new topological cycle cycle is created by closing the sequence of
edges, elist, with the edge edge. Alternatively,
the sequence of edges might be specified by the sequence of their vertices.
To maintain the topological consistency, the region where
the new cycle should be placed is required. When region=0,
it is considered that the new face is placed in the unbounded one.
If edge=0 or cycle=0, then TDM generates internally
appropriate identifiers and returns them.
Notes
Errors
O (zero) is returned if no error occurs.
See Also
TdEMakeEdgeKillComponent
Name
Make a new edge between components A and B
CSpecification
int TdEMakeEdgeKillComponent(int vertex1, int vertex2, int region,
int *edge, int *chain)
Parameters
vertex1 |
specifies the vertex identifier of the component A. |
vertex2 |
specifies the vertex identifier of the component B |
region |
specifies the identifier of the region, where the edge
should be placed |
edge |
specifies the edge identifier. |
chain |
specifies the chain identifier. |
Description
This function merges two components into one by connecting
their vertices through an edge.
If edge=0 or chain=0, then TDM generates internally appropriate identifiers
and returns them.
Notes
The argument region is included to reinforce the maintenance of
topological consistency.
Errors
O (zero) is returned if no error occurs.
See Also
TdEMakeEdgeSplitFace
Name
Make a vertex on an edge
CSpecification
int TdEMakeEdgeSplitFace (int vertex1, int vertex2, int face, int *edge,
int *cycle1, int *cycle2, int *new_face)
Parameters
vertex1 |
specifies one extreme vertex identifier. |
vertex2 |
specifies another extreme vertex identifier. |
face |
specifies the identifier of the face to be splitted. |
edge |
specifies the identifier of the new edge. |
cycle1 |
specifies the identifier of the new chain of one face. |
cycle2 |
specifies the identifier of the new chain of another face. |
new_face |
specifies the identifier of the new face. |
Description
This function creates a edge on an specified face face, in such
a way that this face is splitted into two faces.
The extreme vertices of this new edge are vertex1 and
vertex2.
The identifier of the new edge and face are edge and
new_face, respectively. If new_face=0, then TDM generates
internally an appropriate identifier and returns it. Similarly,
TDM generates an appropriate identifier for the new edge, if edge=0.
Notes
Two chains of edges, cycle1 and cycle2,
are generated internally. It is recommended to make cycle1 =
cycle2 = 0 before calling this function.
It is also recommended to use TdFAGetAdjVertices
or TdFAGetAdjEdges to check how TDM
aggregates internally the vertices/edges to the newly created face.
Errors
O (zero) is returned if no error occurs.
See Also
TdFMakeFaceShell
Name
Make a shell by inserting a face
CSpecification
int TdFMakeFaceShell (int eqty, elist, *face, n_genus, region, *shell)
Parameters
eqty |
specifies the quantity of edges in elist. |
elist |
specifies the identifiers of a "path" of edges. |
face |
specifies the face identifier. |
n_genus |
specifies the quantity of genus in the face. |
region |
specifies the identifier of the region, where the face
should be placed |
shell |
specifies the shell identifier. |
Description
This function creates a shell when the boundary of a set
of faces defined by elist is closed by the new face face.
Therefore, a new bounded region, region is created.
To maintain the topological consistency the number
of genus on the new face must be specified.
If face=0, or shell=0, or region=0,
then TDM generates internally appropriate identifiers and
returns them.
Notes
The orientation of the face depends on the sequence of edges
given in elist.
Errors
O (zero) is returned if no error occurs.
See Also
Last Edited: Thu Sep 4 08:46:11 BRA 1997
Ting