HC_KEY Insert_PolyCylinder类
HC_KEY Insert_PolyCylinder | ( | int | p_count, | |
const HC_POINT * | pts, | |||
int | r_count, | |||
const float * | radii, | |||
const char * | capping | |||
) |
Create a polycylinder from a 3d-array of points and an array of radii.
-
Parameters:
-
p_count - number of items in pts pts - Vector of x-y-z triplets for the coordinates of the center of the polycylinder. (A simple N x 3 array may also be used.) Passed by reference always. r_count - number of items in radii radii - array of radius lengths as measured from the centerline capping - string specifying which ends to cap, either "first", "second", "none", or "both"
-
Returns:
- The key to the inserted geometry.
DETAILS
A polycylinder is a multi-segmented cylinder that can have varying radii at the ends of each segment. If p_count is greater than r_count the corresponding elements of pts and radii are paired up and elements beyond r_count will be wrapped around to the begining of radii. p_count should not be less than r_count. When the radii of two adjacent vertices are both 0, the section betwen those points will be rendered as a line.NOTES
This primitive can be used to create cones.RESTRICTIONS
Any local vertex attributes will be thrown away if the polycylinder is edited.举例:
使用Insert_PolyCylinder类
HCS.Open_Segment("cylider");
float[] p1 = new float[18] { 0,0,0,0, 0,1,0,0,1,0,0,1,0,0,1,0,0,1.5f };float[] p2 = new float[6] { 0.1f, 0.1f,0.1f,0.2f,0.2f,0 };
HCS.Insert_PolyCylinder(6, p1, 6, p2, "first");