Brief Index      Full Index      I.M. Reference

Insert_Circle


Functions

void Insert_Circle (const HC_POINT *point1, const HC_POINT *point2, const HC_POINT *point3)
HC_KEY KInsert_Circle (const HC_POINT *point1, const HC_POINT *point2, const HC_POINT *point3)
void QInsert_Circle (const char *segment, const HC_POINT *point1, const HC_POINT *point2, const HC_POINT *point3)
HC_KEY QKInsert_Circle (const char *segment, const HC_POINT *point1, const HC_POINT *point2, const HC_POINT *point3)
void DInsert_Circle (const HCD_POINT *point1, const HCD_POINT *point2, const HCD_POINT *point3)
HC_KEY DKInsert_Circle (const HCD_POINT *point1, const HCD_POINT *point2, const HCD_POINT *point3)
void DQInsert_Circle (const char *segment, const HCD_POINT *point1, const HCD_POINT *point2, const HCD_POINT *point3)
HC_KEY DQKInsert_Circle (const char *segment, const HCD_POINT *point1, const HCD_POINT *point2, const HCD_POINT *point3)

Function Documentation

void 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.

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 KInsert 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 KInsert_Circle ( const HC_POINT *  point1,
const HC_POINT *  point2,
const HC_POINT *  point3 
)

Similar to Insert_Circle(), but returns an HC_KEY to the 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:
key

DETAILS

No additional details. See Insert_Circle()

void QInsert_Circle ( const char *  segment,
const HC_POINT *  point1,
const HC_POINT *  point2,
const HC_POINT *  point3 
)

Similar to Insert_Circle(), but operates on a given segment rather than the currently open one.

Parameters:
segment - Segment(s) to be inserted into, if other than the currently- open segment.
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.

DETAILS

No additional details. See Insert_Circle()

HC_KEY QKInsert_Circle ( const char *  segment,
const HC_POINT *  point1,
const HC_POINT *  point2,
const HC_POINT *  point3 
)

Similar to Insert_Circle(), but operates on a given segment and returns an HC_KEY to the object.

Parameters:
segment - Segment(s) to be inserted into, if other than the currently- open segment.
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:
key

DETAILS

No additional details. See Insert_Circle()

void 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.

DETAILS

No additional details. See Insert_Circle().

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

Similar to DInsert_Circle(), but returns an HC_KEY to the 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:
key

DETAILS

No additional details. See Insert_Circle()

void DQInsert_Circle ( const char *  segment,
const HCD_POINT *  point1,
const HCD_POINT *  point2,
const HCD_POINT *  point3 
)

Similar to DInsert_Circle(), but operates on a given segment rather than the currently open one.

Parameters:
segment - Segment(s) to be inserted into, if other than the currently- open segment.
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.

DETAILS

No additional details. See Insert_Circle()

HC_KEY DQKInsert_Circle ( const char *  segment,
const HCD_POINT *  point1,
const HCD_POINT *  point2,
const HCD_POINT *  point3 
)

Similar to DInsert_Circle(), but operates on a given segment and returns an HC_KEY to the object.

Parameters:
segment - Segment(s) to be inserted into, if other than the currently- open segment.
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:
key

DETAILS

No additional details. See Insert_Circle()

Main Index
Brief Index      Full Index      I.M. Functions