hwCone - create a truncated partial cone
GraphN | 1I | Tesselation parameter; number of rows in the resulting mesh |
GraphM | 1I | Tesselation parameter; number of columns in the resulting mesh |
Radius | 2F | Radius of the cone at the bottom and top |
Height | 1F | Height of the cone; the distance from the bottom to the top |
LonRange | 2F | Starting and stopping longitude of the cone in the range 0 to 360 |
OptFlags | 1I | Optimization flags; see hw for details |
HasNormals | 1B | True for smooth shading; false for faceted |
Resolution | 1F | Tesselation multiplier |
GraphN | 9 |
GraphM | 17 |
Radius | {1,1} |
Height | 1 |
LonRange | {0,360} |
OptFlags | hwDefaultOptFlags |
HasNormals | True |
Resolution | 1.0 |
The hwCone class creates a truncated cone, restricted in longitude as requested by the user. The cone is specified relative to the origin, with a height (default, 1.0), and a lower and upper radius (both default to 1.0). The height is specified relative to the positive Z axis. The longitude range over which the cone is drawn defaults to a complete circle, 0 to 360 degrees. Note that the cone IS NOT capped; see hwDisc and hwRing for possible capping objects. The cone is tesselated into a mesh with GraphN rows and GraphM columns. By default, the cone is smoothly shaded; if a faceted appearance is desired, set HasNormals to False.
The default texture coordinates of an hwCone have the S coordinate increasing from 0.0 to 1.0 along the bottom and top of the cone, and the T coordinate increasing from 0.0 to 1.0 from the origin to the top of the cone.
/* Draw a half-pipe object, visible from both inside and out */ hwObject cone; hwFloat lonRange[2] = {0.0, 180.0}; cone = hwCone->create( hwCone ); cone->modify( cone, hwStrLonRange, HW_TYPE_2F, cone ); HW_MODIFY_1B( cone, hwStrTwoSided, HW_TRUE ); cone->draw( cone ); cone->destroy( cone );
# A half-pipe, visible from both sides hwCone cone { LonRange = {0,180} TwoSided = True }