HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_MetaCluster.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: GU_MetaCluster.h ( GU Library, C++)
7  *
8  * COMMENTS: Generates clusters of metaballs for better conversion
9  * to polygons
10  */
11 
12 #ifndef __GU_MetaCluster__
13 #define __GU_MetaCluster__
14 
15 #include "GU_API.h"
16 class gu_MetaCluster;
17 
19 {
20 public:
21  GU_MetaClusterParms(const char *group_prefix = "mcluster",
22  int internal_groups = 1);
24 
25  void setGroupPrefix(const char *pfix) { myGroupPrefix = pfix; }
26  void createInternalGroups(int onoff) { myInternalFlag = onoff; }
27 
28  // Generate clusters of metaballs (i.e. mutually exclusive sets)
29  void makeClusters(GU_Detail *gdp, GA_PrimitiveGroup *group = 0);
30 
31  // After the clusters have been made, the following methods can be called.
32  int getNClusters() { return (int)myClusters.entries(); }
33  GA_PrimitiveGroup *getCluster(int i);
34  const UT_BoundingBox &getClusterBox(int i);
35 
36 private:
37  void clearClusters();
38 
39  gu_MetaCluster *myRoot;
40  const char *myGroupPrefix;
41  int myInternalFlag;
43 };
44 
45 #endif
46 
#define GU_API
Definition: GU_API.h:14
void createInternalGroups(int onoff)
void setGroupPrefix(const char *pfix)
myRoot
Definition: UT_RTreeImpl.h:716