geBody._h

Description: The following is not part of the API, and is for the curious

Source file: …\genesis3d\OpenSource\Source\Actor\body._h

Contents:

Types: geBody_Index, geBody_XSkinVertex, geBody_Normal, geBody_Bone, geBody_Triangle, geBody_TriangleList, geBody_Material, geBody

Constants: view

Constants:

#define GE_BODY_INDEX_MAX (0xEFFF)

#define GE_BODY_REALLY_BIG_NUMBER (9e9f) // bigger than any skin point

#define GE_BODY_HIGHEST_LOD_MASK ( 1 << GE_BODY_HIGHEST_LOD )

#define GE_BODY_BBOX_LOD_MASK ( 1 << GE_BODY_NUMBER_OF_LOD ) // bounding box mask

Return to Contents

Types:

typedef int16 geBody_Index;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_XSkinVertex
{
     geVec3d            XPoint;
     geFloat              XU,XV;
     int8                    LevelOfDetailMask;
     geBody_Index   BoneIndex;
} geBody_XSkinVertex;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_Normal
{
     geVec3d           Normal;
     int8                   LevelOfDetailMask;
     geBody_Index  BoneIndex;
} geBody_Normal;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_Bone
{
     geVec3d           BoundingBoxMin;
     geVec3d           BoundingBoxMax;
     geXForm3d      AttachmentMatrix;
     geBody_Index  ParentBoneIndex;
} geBody_Bone;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_Triangle
{
     geBody_Index VtxIndex[3];
     geBody_Index NormalIndex[3];
     geBody_Index MaterialIndex;
     //geBody_Index FaceNormal;
} geBody_Triangle;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_TriangleList
{
     geBody_Index        FaceCount;
     geBody_Triangle*   FaceArray; // Sorted by MaterialIndex
} geBody_TriangleList;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody_Material
{
     geBitmap*       Bitmap;
     geFloat            Red,Green,Blue;
} geBody_Material;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents

 

typedef struct geBody
{
     geVec3d                           BoundingBoxMin;
     geVec3d                           BoundingBoxMax;

     geBody_Index                  XSkinVertexCount;
     geBody_XSkinVertex*     XSkinVertexArray; // Sorted by BoneIndex

     geBody_Index                  SkinNormalCount;
     geBody_Normal*             SkinNormalArray;

     geBody_Index                  BoneCount;
     geBody_Bone*                 BoneArray;
     geStrBlock*                      BoneNames;

     geBody_Index                  MaterialCount;
     geBody_Material*            MaterialArray;
     geStrBlock*                     MaterialNames;

     int                                     LevelsOfDetail;
     geBody_TriangleList         SkinFaces[GE_BODY_NUMBER_OF_LOD];

     geBody*                           IsValid;
} geBody;

This is not part of the API, and is for advanced users and those willing to compile the entire source code

Return to Contents