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
PFace The Face Geometry 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
PFace The Face Geometry 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
PFace The Face Geometry 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
PFace The Face Geometry 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
PFace The Face Geometry PDstVertexNodeSize of the resulting Polygons PVertexOffset Add this offset to the VertexID field of the resulting Polygons' VertexNodes PCreateTriangles Output the Face's Polygons as triangles PInverse Inverted the resulting Polygons 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 the number of triangles, use: E3dPolyGroup_CountTriangles(&PFace->PolyGroup, NULL);

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
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-2024 By Gabor Nagy