fastest 3D software for linux

Linux 3D
interactive ray-tracing
[1 introduction] [2 overview] [3 reference] [4 GUI]

Index

 E3dFace_SetExterior
 E3dFace_AppendHole
 E3dFace_InsertHole
 E3dFace_RemoveHole
 E3dFace_ConvertToPolygons
 E3dFace_Flatten


E3dFace_SetExterior

Set the exterior Spline of a Face

Syntax
void E3dFace_SetExterior(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
E3dFace_AppendHole, E3dFace_RemoveHole

E3dFace_AppendHole

Add a hole contour to a Face

Syntax
void E3dFace_AppendHole(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
E3dFace_SetExterior, E3dFace_RemoveHole

E3dFace_InsertHole

Add a hole contour to a Face

Syntax
void E3dFace_InsertHole(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
E3dFace_SetExterior, E3dFace_RemoveHole

E3dFace_RemoveHole

Remove a hole contour from a Face

Syntax
void E3dFace_RemoveHole(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
E3dFace_SetExterior, E3dFace_AppendHole

E3dFace_ConvertToPolygons

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

Syntax
EIndex E3dFace_ConvertToPolygons(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: E3dPolyGroup_CountTriangles(&PFace->PolyGroup.Polygons).

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

E3dFace_Flatten

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

Syntax
E3dCoord2* E3dFace_Flatten(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
E3dPolygon_FlattenScaled()
© 1996-2022 By Gabor Nagy