Annotation of mstools/samples/spincube/paint.h, revision 1.1

1.1     ! root        1: /******************************************************************************\
        !             2: *
        !             3: *                               MODULE: PAINT.H
        !             4: *
        !             5: \******************************************************************************/
        !             6: 
        !             7: 
        !             8: 
        !             9: /******************************************************************************\
        !            10: *                             SYMBOLIC CONSTANTS
        !            11: \******************************************************************************/
        !            12: 
        !            13: #define  NUMVERTICES  8 /* number of polyhedron vertices */
        !            14: #define  NUMFACETS    6 /* number of polyhedron facets   */
        !            15: 
        !            16: #define  MAX_POINTS_PER_FACET 4
        !            17: 
        !            18: 
        !            19: 
        !            20: /******************************************************************************\
        !            21: *                                  TYPEDEFs
        !            22: \******************************************************************************/
        !            23: 
        !            24: typedef struct
        !            25: {
        !            26:   LONG x, y, z;
        !            27: 
        !            28: } POINT3D;
        !            29: 
        !            30: 
        !            31: 
        !            32: /******************************************************************************\
        !            33: *                          GLOBAL VARIABLES
        !            34: \******************************************************************************/
        !            35: 
        !            36: //
        !            37: //  This particular set of vertices "gNormalizedVertices" and corresponding
        !            38: //    facets "gaiFacets" describe a normalized cube centered about the
        !            39: //    origin ([0,0,0] in 3-space). The gaiFacet array is made up of a series
        !            40: //    of indices into the array of vertices, each describing an individual
        !            41: //    facet (eg. a polygon), and are separated by -1. Note that the facets
        !            42: //    are decribed in COUNTERCLOCKWISE (relative to the viewer) order so we
        !            43: //    can consistently find the normal to any given facet. (The normal
        !            44: //    is used to determine facet visibilty.)
        !            45: //
        !            46: 
        !            47: static POINT3D gNormalizedVertices[NUMVERTICES] = {{ 1, 1, 1}, { 1,-1, 1},
        !            48:                                                    {-1,-1, 1}, {-1, 1, 1},
        !            49:                                                    { 1, 1,-1}, { 1,-1,-1},
        !            50:                                                    {-1,-1,-1}, {-1, 1,-1}  };
        !            51: 
        !            52: 
        !            53: static int gaiFacets[30] = { 3, 2, 1, 0, -1,
        !            54:                              4, 5, 6, 7, -1,
        !            55:                              0, 1, 5, 4, -1,
        !            56:                              6, 2, 3, 7, -1,
        !            57:                              7, 3, 0, 4, -1,
        !            58:                              5, 1, 2, 6, -1  };
        !            59: 
        !            60: POINT3D gXformedVertices[NUMVERTICES];
        !            61: 
        !            62: float   gM[2][3]; /* the transformation matrix */
        !            63: 
        !            64: 
        !            65: 
        !            66: /******************************************************************************\
        !            67: *                         FUNCTION PROTOTYPES
        !            68: \******************************************************************************/
        !            69: 
        !            70: void TransformVertices (HWND, RECT *, PSPINCUBEINFO, LONG);
        !            71: void ComputeRotationTransformation (float, float, float);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.