hwSurfRev - create a shape specified by revolving a path about the Z axis
GraphN | 1I | The number of rows in the resulting mesh |
Data | *F | The 2-dimensional path to be rotated around the Z axis |
LonRange | 2F | The starting and ending points of the rotation, in degrees from 0 to 360 |
OptFlags | 1I | Optimization flags; see hw for details |
HasNormals | 1B | True for smooth shading; false for faceted appearance |
Resolution | 1F | Tesselation multiplier |
GraphN | 9 |
LonRange | {0,360} |
OptFlags | hwDefaultOptFlags |
HasNormals | True |
Resolution | 1.0 |
The hwSurfRev class creates a surface of revolution based on a 2-dimensional path. The path consists of radius, height pairs. The radius is the distance of this point on the path from the Z axis. The height is the distance of the point above the XY plane. This path is revolved about the Z axis, starting at LonRange[0] degrees, and going to LonRange[1] degrees. By default, this surface is smoothly shaded; set HasNormals to False if you want a faceted appearance.
The default texture coordinates for a surface of revolution have the S coordinate increasing from 0.0 to 1.0 around the arc, and T increasing from 0.0 to 1.0 from minimum Z to maximum Z.
/* Draw a surface of revolution */ hwObject surfRev; hwFloat points[] = {1,0, 0.5,1, 1,2}; surfRev = hwSurfRev->create( hwSurfRev ); surfRev->modify( surfRev, hwStrData, HW_MAKE_TYPE(HW_TYPE_FLOAT,6), points ); HW_MODIFY_1B( surfRev, hwStrTwoSided, HW_TRUE ); surfRev->draw( surfRev ); surfRev->destroy( surfRev );
# A simple surface of revolution hwSurfRev surfRev { Data = {1,0, 0.5,1, 1,2} TwoSided = True }