Representation of a 3D body.
typedef struct {
API_3D_Head head;
API_Elem_Head parent;
Int32 status;
short color;
short filler_0[3];
API_AttributeIndex iumat;
float xmin;
float ymin;
float zmin;
float xmax;
float ymax;
float zmax;
Int32 nPgon;
Int32 nPedg;
Int32 nEdge;
Int32 nVert;
Int32 nVect;
Int32 filler_1;
API_Tranmat tranmat;
} API_BodyType;
Members
- head
- Header information of this component. This specifies the type and database index.
- parent
- The floorplan element the body has been converted from.
- status
- The properties of the body.
- color
- Refers to the default color of the body edges.
- iumat
- Refers to the default material of the body polygons.
- xmin, ymin, zmin, xmax, ymax, zmax
- The six coordinate data of the body’s bounding box.
- nPgon
- Number of polygons in the body.
- nPedg
- Number of edge references in the body.
- nEdge
- Number of edges in the body.
- nVert
- Number of vertices in the body.
- nVect
- Number of normal vectors in the body.
- tranmat
- The base transformation matrix.
Remarks
The 3D representation of a particular element is based on API_BodyType structure. One element may hold one or more bodies to describe the 3D geometry. Generally a body is built up from a number of vertices, edges, polygons and normal vectors. This data structure gives you the number of the internal components as well as some status bits, surface properties and a global transformation matrix. You also get a reference to the parent element through an API_Elem_Head structure.
You can get a component of a body, just after you call ACAPI_3D_GetComponent with the appropriate body component. Then you can obtain edges, pgons, vertices etc. of that body. Use indices from 1 to nPgon, nPedg, nEdge, nVert or nVect in parameter of ACAPI_3D_GetComponent function to get a subcomponent.
The status field specifies some properties of the body. You can use the bitwise-OR operator (|) to combine any of the following constants:
APIBody_MulRtxt: more textures are referenced by its materials.APIBody_MulColor: more than one colors referenced by its edges.APIBody_MulMater: more than one materials referenced by its polygons.APIBody_Closed: its geometry is closed.APIBody_Curved: it has smooth polygons.
Requirements
- Version: API 1.3 or later
- Header: APIdefs_3D.h
See Also
API_3D_Head, API_PgonType, API_PedgType, API_EdgeType, API_VertType, API_VectType, API_Component3D,
API_Elem_Head, API_Tranmat, API_AttributeIndex,
3D Manager, API Types