class aggregatef

Declared in: Aggregate++.h
Library: libVector++.so
Derived from: primitivef << BArchivable
Mixin classes: BList

Description

The aggregatef class is an implementation of a list of primitives (or other graphics objects derived from primitivef). This is accomplished using the BList protocol for data storage.

Constructors

aggregatef(); aggregatef(aggregatef *); aggregatef(aggregatef *, int)
Passing the constructor () results in an assignment of an empty list. Passing it a pointer to another quad will copy the other quad into it, passing it a pointer to another quad and an integer allocates that much extra memory.

aggregatef(BMessage *, primitivef *other(BMessage *) = NULL)
Takes a BMessage with aggregate data and creates a aggregatef with the passed data. The function other, which takes a BMessage is used to discriminate and instantiate BMessages with "GType" values other than the primitives declared in libVector++.so; it should return the instantiated primitivef-derived object.

Members

void transform(basisf) and
void translate(vectorf)
do as they are described in primitivef, by recursively calling transforms and translates in all the subelements.

void draw()
recursively calls all draw procedures in the subelements.

status_t Archive(BMessage *, bool)
Archived information:
NAME TYPE VALUE
GType B_STRING_TYPE "AGGREGATE"
Number B_INT32_TYPE {number of elements}
Subelements B_MESSAGE_TYPE {messages encapsulating other primitivefs}
class B_STRING_TYPE aggregatef

static BArchivable *Instantiate(BMessage *)
Takes a BMessage and returns the BArchivable-cast pointer to the new aggregatef. The calling procedure now owns the quadf.

Member Operators

aggregatef * operator +(aggregatef)
returns a new aggregatef combining the components of both aggregatefs.

bool operator <<(primitivef)
appends the item to the aggregate.