HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_ElementGroup.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 Library (C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __GU_ElementGroup_h__
13 #define __GU_ElementGroup_h__
14 
15 #include "GU_Group.h"
16 
17 class GU_Detail;
18 class GA_ElementGroup;
19 class GA_Group;
20 
22 {
23 public:
25  ~GU_ElementGroup() override;
26 
27  // Select items based on a boolean operation done between one or two
28  // different groups (e.g. intersect, union, subtraction, negation).
29  // Returns false if any error was encountered and true otherwise.
30  bool boolean(GU_GroupBoolOp boolop,
31  const UT_String &group1, bool negate1,
32  const UT_String &group2, bool negate2
33  ) const override;
34 
35  bool boolean(GU_GroupBoolOp boolop,
36  GA_Group *group1, bool negate1,
37  GA_Group *group2, bool negate2
38  ) const override;
39 
40  GA_ElementGroup * elementGroup() const;
41 
42 protected:
43  /// Determines whether threading should be enabled, based on the size of
44  /// the range being processed and whether the group is unordered.
45  /// If threading is enabled, calls grp.invalidateGroupEntries() since
46  /// elements will be toggled in parallel.
47  static bool enableThreadedWrites(GA_ElementGroup &grp, exint range_entries);
48 };
49 
50 #endif
GU_GroupBoolOp
Definition: GU_Group.h:109
int64 exint
Definition: SYS_Types.h:125
#define GU_API
Definition: GU_API.h:14
virtual bool boolean(GU_GroupBoolOp boolop, const UT_String &group1, bool negate1, const UT_String &group2, bool negate2) const