Insert_Circle

Functions

HC_KEY DInsert_Circle (const HCD_POINT *point1, const HCD_POINT *point2, const HCD_POINT *point3)
 Similar to Insert_Circle(), but accepts parameters of type double for increased precision. More...
 
HC_KEY Insert_Circle (const HC_POINT *point1, const HC_POINT *point2, const HC_POINT *point3)
 Generates a flat, infinitely thin, filled circle. More...
 

Detailed Description

Function Documentation

◆ DInsert_Circle()

HC_KEY DInsert_Circle ( const HCD_POINT *  point1,
const HCD_POINT *  point2,
const HCD_POINT *  point3 
)

Similar to Insert_Circle(), but accepts parameters of type double for increased precision.

Parameters
point1- An x-y-z triplet for the coordinates of one of three on the circumference of the circle. A simple array of three double-precision elements may also be used for each parameter. Passed by reference always.
point2- As above.
point3- As above.
Returns
The key to the new created circle, or -1 if an error occurred.

◆ Insert_Circle()

HC_KEY Insert_Circle ( const HC_POINT *  point1,
const HC_POINT *  point2,
const HC_POINT *  point3 
)

Generates a flat, infinitely thin, filled circle.

Parameters
point1- An x-y-z triplet for the coordinates of one of three on the circumference of the circle. A simple array of three elements may also be used for each parameter. Passed by reference always.
point2- As above.
point3- As above.
Returns
The key to the inserted geometry, or -1 if an error occurred.

DETAILS

A closed, flat, filled-in circle is added to the current segment.

Circles are grouped with ellipses, polygons, shells, and meshes for rendering purposes. The rendition of the interior of the circle can be adjusted with changes to face color and face pattern. The circumference of a circle can be made distinct from the interior through the use of edge color, edge pattern and edge weight. A circle's visibility and selectability are controlled by the "edge", "face", and "polygon" keywords.

NOTES

If you only work in two dimensions, specify all the z coordinates as zero. The system will automatically take note.

Make sure the points are not colinear. The system checks and issues an error message if all three points lie on a line, or if two points are coincident.

If you want to create a wire circle, we recommend using an elliptical arc (with start=0.0 and end=1.0) instead of inserting a circle and then turning off the visibility of faces. The following code snippet is an example of how to create a unit wire circle centered at the origin in the xy plane using Insert_Elliptical_Arc():

Point center, major, minor;
center.x=0; center.y=0; center.z=0;
major.x=1; major.y=0; major.z=0;
minor.x=0; minor.y=1; minor.z=0;
HC_Open_Segment( "circle" );
HC_Insert_Elliptical_Arc(&center, &major, &minor, 0, 1);
HC_Close_Segment();

RESTRICTIONS

See also
Insert_Circle_By_Radius, Insert_Ellipse, Insert_Circular_Arc, Insert_Circular_Chord, Insert_Circular_Wedge, Insert_Elliptical_Arc.