HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PI_OHLGroup.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: PI_OHLGroup.h.h ( PI Library, C++)
7  *
8  * COMMENTS:
9  *
10  * Abstraction for a group of PIs.
11  */
12 
13 #ifndef __PI_OHLGroup__
14 #define __PI_OHLGroup__
15 
16 #include "PI_API.h"
17 #include <UT/UT_ValArray.h>
18 #include <UT/UT_String.h>
19 
20 class PI_Manager;
21 class PI_OHLPersistent;
22 
24 {
25 public:
26  int getNumPIs() const;
27  PI_OHLPersistent *getPI(int index) const;
28 
29  bool contains(const PI_OHLPersistent *o) const;
30 
31  const UT_String &getName() const;
32  void setName(const char *name);
33 
34  void hidePIs() const;
35  void exposePIs() const;
36 
37 private:
38  PI_OHLGroup(PI_Manager *manager, const char *name);
39  virtual ~PI_OHLGroup();
40 
41  // This function is for reordering the PIs. Only the PI_Manager should
42  // call it. And the inputs must be guaranteed valid.
43  void swapPIs(int idx1, int idx2);
44 
45  PI_Manager *myManager;
46  UT_String myName;
47  UT_ValArray<PI_OHLPersistent *> myOpHandleLinks;
48 
49  friend class PI_Manager;
50 };
51 
52 #endif
53 
#define PI_API
Definition: PI_API.h:10
GLuint const GLchar * name
Definition: glcorearb.h:785
GLuint index
Definition: glcorearb.h:785