Synopsis
PDX_MSGT gdx_ConvertFaceToCBS(long option, MDA_PTR gdx_face_ptr, PDX_BOOL face_sense, int model, void *gdx_cbs)
Purpose
Convert a GDX face to a GDX Curve Bounded Surface entity
Description
Given a GDX face entity, converts the GDX face entity to a GDX curve bounded face entity. The GDX face loops map to GDX composite edge curves where the edge curves in the composite edge curve are single surface duplicates of the edge curves from the GDX edges. A duplicate (instance) of all the GDX face geometry is produced for the GDX Curve Bounded Surface.
Because the GDX Curve Bounded Surface entity does not contain an equivalent of the surf_sense field or face_sense, the GDX Curve Bounded Surface is created as follows: The loops are converted to GDX Comp Edge Curves such that the loop direction matches the surface normal. Once this is accomplished the face_sense is xor'd with the surf_sense and if true the surface and loops are revesersed in order to create a GDX Curve Bounded Surface whose surface normal agrees with the GDX Face topological normal. However, note that a GDX analytical surface (cone, cylinder, sphere or torus) can not be reversed. Thus the resulting normal may be wrong for GDX Curve Bounded Surfaces which contain those entities.
The GDX face entity and all its subordinate entities must be valid definitions.
Input
option
GDX_COMMIT
Commit the GDX Curve Bounded Surface to the database and return the MDA_PTR database pointer. Otherwise the memory structure pointer for the new GDX Curve Bounded Surface entity is returned.
GDX_REMDUPEDGE
Remove any duplicate edges (Edges with the same Vertex end points and opposite sense). This option will remove the edges that lie along the seams of closed surfaces and thus remove the seam edge curves. This may result in a change in the number of boundaries (Loops to Composite Edge Curves). Potentially a Curve Bounded Surface may result with the only boundary being the original boundary of the surface (num_of_bounds == 0 && first_is_outer).
GDX_COMPBNDRY
Force the boundary edges to the curves of a single composite curve for both model and parameter space curves. By default, each curve in the edge of the face becomes an edge curve as part of a composite edge.
GDX_KEEPNORMAL
Force the CBS normal to be the same as the original topological normal.
gdx_face_ptr
The GDX face entity database pointer
face_sense
PDX_TRUE
The sense of the face agrees with the topological normal
PDX_FALSE
The sense of the face is opposite the topological normal
model
The model number for creation of the new GDX curve bounded face entity.
Output
gdx_cbs
The new GDX Curve Bounded Surface entity structure or database pointer
Return
GDX_NOERR
GDX_ENTITYNOTFACE
GDX_NOMEMORY
Low level error return
.fi