Functions | |
void | Insert_Polygon (int count, const HC_POINT *points) |
HC_KEY | KInsert_Polygon (int count, const HC_POINT *points) |
void | QInsert_Polygon (const char *segment, int count, const HC_POINT *points) |
HC_KEY | QKInsert_Polygon (const char *segment, int count, const HC_POINT *points) |
void | DInsert_Polygon (int count, const HCD_POINT *points) |
HC_KEY | DKInsert_Polygon (int count, const HCD_POINT *points) |
void | DQInsert_Polygon (const char *segment, int count, const HCD_POINT *points) |
HC_KEY | DQKInsert_Polygon (const char *segment, int count, const HCD_POINT *points) |
void Insert_Polygon | ( | int | count, | |
const HC_POINT * | points | |||
) |
Generates a simple flat, infinitely thin, colored-in object.
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
The depiction of the interior of the polygon can be adjusted with changes to Face Color and Face Pattern. The edges of polygons can be made distinct from the interiors through the use of Edge Color and Edge Pattern. The existence for drawing purposes of the interior and the edges can be controlled with face and edge Visibility.
It is not necessary to close the polygon explicitly by specifying a last point identical to the first. If you do close it, the system discards that last point (this is relevant to subsequent calls to Edit_Polygon() ).
Simple holes generated by the boundary crossing back and forth over itself are permissible. A point is within a hole and is not colored in if there are an even number of boundary edges lying in all directions from it. A point is in the interior. A point is to be colored if it has an odd number of boundaries surrounding it.
If you insert a number of polygons in order to form a larger object, it might be more efficient to use Insert_Shell() or Insert_Mesh() instead.
If you work in 3-D, make sure all the points are coplanar. The system does not check for this---but displayed pictures might look strange.
There is no method implemented yet to obtain polygons with completely interior "doughnut" holes---but see faces-with-holes in Insert_Shell() .
If there is an error the KInsert routine returns a -1.
HC_KEY KInsert_Polygon | ( | int | count, | |
const HC_POINT * | points | |||
) |
Similar to Insert_Polygon(), but returns an HC_KEY to the object.
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
void QInsert_Polygon | ( | const char * | segment, | |
int | count, | |||
const HC_POINT * | points | |||
) |
Similar to Insert_Polygon(), but operates on a given segment rather than the currently open one.
segment | - Segment(s) to be inserted into, if other than the currently- open segment. | |
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
HC_KEY QKInsert_Polygon | ( | const char * | segment, | |
int | count, | |||
const HC_POINT * | points | |||
) |
Similar to Insert_Polygon(), but operates on a given segment and returns an HC_KEY to the object.
segment | - Segment(s) to be inserted into, if other than the currently- open segment. | |
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
void DInsert_Polygon | ( | int | count, | |
const HCD_POINT * | points | |||
) |
Generates a simple flat, infinitely thin, colored-in object.
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
HC_KEY DKInsert_Polygon | ( | int | count, | |
const HCD_POINT * | points | |||
) |
Similar to DInsert_Polygon(), but returns an HC_KEY to the object.
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
void DQInsert_Polygon | ( | const char * | segment, | |
int | count, | |||
const HCD_POINT * | points | |||
) |
Similar to DInsert_Polygon(), but operates on a given segment rather than the currently open one.
segment | - Segment(s) to be inserted into, if other than the currently- open segment. | |
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |
HC_KEY DQKInsert_Polygon | ( | const char * | segment, | |
int | count, | |||
const HCD_POINT * | points | |||
) |
Similar to DInsert_Polygon(), but operates on a given segment and returns an HC_KEY to the object.
segment | - Segment(s) to be inserted into, if other than the currently- open segment. | |
count | - Number of valid points in points. | |
points | - Vector of x-y-z triplets for the coordinates along the edge of the Polygon. (A simple N x 3 array may also be used.) Passed by reference always. |