1 // File: GLViewer_Group.h
2 // Created: March, 2005
4 // Copyright (C) CEA 2005
6 #ifndef GLVIEWER_GROUP_H
7 #define GLVIEWER_GROUP_H
13 #pragma warning( disable:4251 )
16 class GLViewer_Object;
18 typedef std::list<GLViewer_Object*> OGList;
19 typedef std::list<GLViewer_Object*>::iterator OGIterator;
21 /*! Class GLViewer_Group
22 * Group of GLViewer_Objects for synchronized moving.
23 * If you move one or more objects from group, than all objects from group is moved
24 * If group is empty, it must be deleted
27 class GLVIEWER_API GLViewer_Group
34 //! Returns number ob objects
37 //! Returns index of position, else -1
38 int contains( GLViewer_Object* );
39 int addObject( GLViewer_Object* );
40 int removeObject( GLViewer_Object* );
42 OGList getObjects() const { return myList; }
44 //! Dragging operation
45 /*! Once = true, if this operation calls only one time for all object*/
46 void dragingObjects( float x, float y, bool once = false );
47 //!\warning it is for ouv
48 void updateZoom( GLViewer_Object* sender, float zoom );
53 //! This number needs for synchranization group with viewport drag methods
57 #endif //GLVIEWER_GROUP_H