First public contribution.
2 * Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Group interface
18 #ifndef __M3G_GROUP_H__
19 #define __M3G_GROUP_H__
24 * \brief Group interface
30 typedef M3Gushort GroupDescendantCount;
39 GroupDescendantCount numRenderables, numNonCullables;
42 /*----------------------------------------------------------------------
44 *--------------------------------------------------------------------*/
46 static void m3gDestroyGroup(Object *obj);
47 static M3Gbool m3gGroupAlign(Node *self, const Node *refNode);
48 static M3Gbool m3gGroupSetupRender(Node *self,
51 RenderQueue *renderQueue);
52 static M3Gint m3gGroupApplyAnimation(Object *self, M3Gint time);
53 static M3Gbool m3gGroupRayIntersect( Node *self,
58 static M3Gint m3gGroupDoGetReferences(Object *self, Object **references);
59 static M3Gint m3gGroupGetBBox(Node *self, AABB *bbox);
60 static Object *m3gGroupFindID(Object *self, M3Gint userID);
61 static M3Gbool m3gGroupDuplicate(const Object *original, Object **clone, Object **pairs, M3Gint *numPairs);
62 static M3Gbool m3gGroupValidate(Node *self, M3Gbitmask stateBits, M3Gint scope);
63 static void m3gGroupUpdateDuplicateReferences(Node *self, Object **pairs, M3Gint numPairs);
65 /*----------------------------------------------------------------------
67 *--------------------------------------------------------------------*/
69 static void m3gInitGroup(Interface *m3g,
73 #endif /*__M3G_GROUP_H__*/