
geBodyInst
Description: Actor body instance
interface.
Source file: ...\genesis3d\OpenSource\Source\Actor\bodyinst.h
Contents:
Functions: Create, Destroy, GetGeometry
Types: geBodyInst ,
geBodyInst_Index , geBodyInst_FaceType
, geBodyInst_SkinVertex, geBodyInst_Geometry
Overview: view
Changes for Genesis3D v1.6: None

Overview:
Format for geBodyInst_Geometry.FaceList:
- primitive type (GE_BODY_FACE_TRIANGLE,
GE_BODY_FACE_TRISTRIP, GE_BODY_FACE_TRIFAN )
- followed by material index
- followed by...
- case primitive
- GE_BODY_FACE_TRIANGLE:
- vertex index 1, normal index 1
- vertex index 2, normal index 2
- vertex index 3, normal index 3
- (next primitive)
- GE_BODY_FACE_TRISTRIP:
- triangle count
- vertex index 1, normal index 1
- vertex index 2, normal index 2
- vertex index 3, normal index 3
- vertex index 4, normal index 4
- ... # vertices is triangle
count+2
- (next primitive)
- GE_BODY_FACE_TRIFAN:
- triangle count
- vertex index 1, normal index 1
- vertex index 2, normal index 2
- vertex index 3, normal index 3
- vertex index 4, normal index 4
- ... # vertices is triangle
count+2
- (next primitive)
Return to Contents

Types:
typedef struct geBodyInst geBodyInst;
NOTE: The contents of this structure have been intentionally
left out of the interface, by the designers of this module. Think
of this as a handle only.
For the curious, the following is private and not
part of the API.
typedef struct geBodyInst
{
const geBody* BodyTemplate;
geBodyInst_Geometry
ExportGeometry;
int
LastLevelOfDetail;
geBodyInst_Index
FaceCount;
} geBodyInst;
Return to Contents
typedef int16
geBodyInst_Index;
Return to Contents
- geBodyInst_FaceType
- typedef enum {
- GE_BODYINST_FACE_TRIANGLE,
- GE_BODYINST_FACE_TRISTRIP,
- GE_BODYINST_FACE_TRIFAN
- } geBodyInst_FaceType;
Return to Contents
geBodyInst_SkinVertex
- typedef struct geBodyInst_SkinVertex {
- geVec3d
SVPoint;
- geFloat
SVU,SVV;
- int ReferenceBoneIndex;
- } geBodyInst_SkinVertex;
Return to Contents
-
geBodyInst_Geometry
- typedef struct geBodyInst_Geometry {
- geBodyInst_Index
SkinVertexCount;
- geBodyInst_SkinVertex*
SkinVertexArray;
- geBodyInst_Index
NormalCount;
- geVec3d*
NormalArray;
- geBodyInst_Index
FaceCount;
- int32
FaceListSize;
- geBodyInst_Index*
FaceList;
- geVec3d
Maxs,
Mins;
- } geBodyInst_Geometry;
Return to Contents

Functions:

geBodyInst* GENESISCC geBodyInst_Create(const geBody* B );
Return to Contents

void GENESISCC geBodyInst_Destroy(geBodyInst** BI);
Return to Contents

const geBodyInst_Geometry* GENESISCC geBodyInst_GetGeometry(const geBodyInst* BI, const geVec3d* Scale, const geXFArray* BoneXformArray, int
LevelOfDetail, const geCamera* Camera);
Return to Contents
