Brief Index      Full Index      Events Index      I.M. Reference

Insert_Circle


Functions

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

Function Documentation

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

Generates a flat, infinitely thin, colored-in circular object.

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 in most languages.) Passed by reference always.
point2 - As above.
point3 - As above.
Returns:
The key to the inserted geometry.

DETAILS

A closed, flat, colored-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 there is an error the Insert routine will return a-1.

If you want to create a wire circle, we reccomend 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_Ellipse, Insert_Circular_Arc, Insert_Circular_Chord, Insert_Circular_Wedge, Insert_Elliptical_Arc, Insert_Polygon, Set_Visibility, Set_Edge_Pattern, Set_Edge_Weight, Set_Face_Pattern, Set_Color, Renumber_Key.

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

Similar to Insert_Circle() but accepts and/or returns double-precision values. This command can only be used when the application source includes the HOOPS double-precision header, hcd.h.

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 in most languages.) Passed by reference always.
point2 - As above.
point3 - As above.
Returns:
The key to the new created circle.

DETAILS

No additional details. See Insert_Circle().

Brief Index      Full Index      Events Index      I.M. Reference