fastest 3D software for linux

Linux 3D
interactive ray-tracing

Index

 E3d_FaceSetExterior
 E3d_FaceAppendHole
 E3d_FaceInsertHole
 E3d_FaceRemoveHole
 E3d_FaceConvertToPolygons
 E3d_FaceFlatten


E3d_FaceSetExterior

Set the exterior Spline of a Face

Syntax
void E3d_FaceSetExterior(E3dFace* PFace, E3dSpline* PExterior)

Argument
E3dFace* PFace The Face Geometry E3dSpline* PExterior The Spline to be used as the exterior contour
Description
Makes the given Spline the exterior contour of the Face. Reading the "Exterior" member of E3dFace directly is ok, but setting it should be done only through his function.

Return value
None.

See also
E3d_FaceAppendHole, E3d_FaceRemoveHole

E3d_FaceAppendHole

Add a hole contour to a Face

Syntax
void E3d_FaceAppendHole(E3dFace* PFace, E3dSpline* PHole)

Argument
E3dFace* PFace The Face Geometry E3dSpline* PHole The Spline to be used as a hole contour
Description
Adds the given Spline to the Face as a hole contour; Reading the "Holes" array of E3dFace directly is ok, but changing it should be done only through his function.

Return value
None.

See also
E3d_FaceSetExterior, E3d_FaceRemoveHole

E3d_FaceInsertHole

Add a hole contour to a Face

Syntax
void E3d_FaceInsertHole(E3dFace* PFace, E3dSpline* PHole, const EIndex PWhere)

Argument
E3dFace* PFace The Face Geometry E3dSpline* PHole The Spline to be used as a hole contour
Description
Adds the given Spline to the Face as a hole contour; Reading the "Holes" array of E3dFace directly is ok, but changing it should be done only through his function.

Return value
None.

See also
E3d_FaceSetExterior, E3d_FaceRemoveHole

E3d_FaceRemoveHole

Remove a hole contour from a Face

Syntax
void E3d_FaceRemoveHole(E3dFace* PFace, E3dSpline* PHole)

Argument
E3dFace* PFace The Face Geometry E3dSpline* PHole The Spline to be used as a hole contour
Description
Removes the given Spline hole contour from the Face. Reading the "Holes" array of E3dFace directly is ok, but changing it should be done only through his function because Faces and their contour Splines are cross-referenced.

Return value
None.

See also
E3d_FaceSetExterior, E3d_FaceAppendHole

E3d_FaceConvertToPolygons

Convert a Face's Polygons to a new set of Polygons.

Syntax
EIndex E3d_FaceConvertToPolygons(E3dFace* PFace, const E3dVertexNodeSize PDstVertexNodeSize, const E3dVertexIndex PVertexOffset, const EBool PCreateTriangles, const EBool PInverse, E3dPolygon* PPolygons)

Arguments
E3dFace* PFace The Face Geometry const E3dVertexNodeSize PDstVertexNodeSize of the resulting Polygons const E3dVertexIndex PVertexOffset Add this offset to the VertexID field of the resulting Polygons' VertexNodes const EBool PCreateTriangles Output the Face's Polygons as triangles const EBool PInverse Inverted the resulting Polygons E3dPolygon* PPolygons Array to hold the resulting Polygons (must be large enough!)
Description
Target Polygons may have a different VertexNode format. Only the VertexID and Normal members of the Polygons' VertexNodes will be set. To ensure that there is enough memory allocated in PPolygons, you can use: PFace->PolyGroup.Polygons_Count, or if you need triangles, use: E3d_PolyGroupCountTriangles(&PFace->PolyGroup.Polygons).

Return value
The number of Polygons output, or an error code, such as E_NO_DATA

E3d_FaceFlatten

Rotate a Face, so it's aligned with the X-Y plane

Syntax
E3dCoord2* E3d_FaceFlatten(E3dFace* PFace)

Arguments
E3dFace* PFace Pointer to the FaceEChangeFlags
Description
Aligns the Polygon with the X-Y plane, making it a 2D Polygon.
This is useful for many Polygon operations, such as determining Edge intersections, triangulating etc.

Return value
Pointer to an array of 2DPositions, corresponding to each VertexNode of the Polygon, or NULL in case of an error.
This array must be freed by the caller when not used any more.

See also
E3d_PolygonFlattenScaled()
© 1992-2017 By Gabor Nagy