HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VIS_Type.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: VIS_Type.h ( GR Library, C++)
7  *
8  */
9 
10 #ifndef __VIS_Type__
11 #define __VIS_Type__
12 
13 #include "VIS_API.h"
14 
15 #include <UT/UT_String.h>
16 #include <PRM/PRM_ParmList.h>
17 #include <PRM/PRM_Template.h>
18 
19 #include "VIS_Visualizer.h"
20 
21 
22 typedef VIS_Visualizer *(*VIS_Constructor)();
23 
25 {
26 public:
27 
28  VIS_Type(const VIS_Type &src);
29  VIS_Type(const char *type_name, const char *description,
30  PRM_Template *template_list, VIS_Constructor constructor,
31  const char *icon, bool is_public = true);
32 
33  int getIndex() const;
34  const char *getName() const;
35  const char *getDescription() const;
36  const char *getIcon() const;
37  VIS_Constructor getConstructor() const;
38  PRM_Template *getParmTemplates();
39  bool isPublic() const;
40 
41  VIS_Visualizer *createVisualizer();
42 
43 private:
44  friend class VIS_Manager;
45 
46  int myIndex; // index in type table
47  UT_String myName;
48  UT_String myDescription;
49  UT_String myIcon;
50  VIS_Constructor myConstructor;
51  PRM_Template *myTemplateList;
52  bool myIsPublic;
53 
54  void setIndex(int id);
55 };
56 
57 #endif
#define VIS_API
Definition: VIS_API.h:10
VIS_Visualizer *(* VIS_Constructor)()
Definition: VIS_Type.h:22
GLenum src
Definition: glcorearb.h:1792