MAV_composite - Default object class ``composite''.

[ Maverik Level 1 typedefs ]

#

MAV_composite

## Summary

Default object class ``composite''.

## Syntax

    typedef struct {
      int numobj;
      MAV_object **obj;
      MAV_BB bb;
      int selobj;
      char *filename;
      MAV_matrix matrix;
      void *userdef;
    } MAV_composite;

## Description

A composite object is a number, `numobj`, of objects which are first transformed by a common transformation matrix, `matrix`, before being transformed by their individual transformation matrices. The objects are defined as an array, `obj`, of pointers to Maverik objects. Once defined, the objects comprising the composite objects must remain static, i.e. changing the number of objects in it, or any details of those objects, is forbidden. And since they are static, a local coordinate frame bounding box is stored in `bb` for efficiency.

Composite objects are not intended to be defined directly by an application, but rather by functions such as mav_compositeRead, which defines a composite object from a VRML97 or AC3D format file.

If the composite object is selected via the usual mechanism then the integer `selobj` holds the element of the array of the sub-object selected.

Back to the index page.