HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
GEO_PrimClassifier.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: GEO_PrimClassifier.h ( GEO Library, C++)
7
*
8
* COMMENTS: This routine classifies primitives according to what
9
* meta-primitive they belong to. The exact definition of a
10
* meta-primitive depends on the classification done.
11
*/
12
13
#ifndef __GEO_PrimClassifier__
14
#define __GEO_PrimClassifier__
15
16
#include "
GEO_API.h
"
17
#include <
UT/UT_IntArray.h
>
18
#include <
GA/GA_Handle.h
>
19
20
class
GEO_Detail
;
21
class
GEO_DetachedHedgeInterface
;
22
class
GA_PrimitiveGroup
;
23
class
GA_EdgeGroup
;
24
25
class
GEO_API
GEO_PrimClassifier
26
{
27
public
:
28
GEO_PrimClassifier
()
29
: myNumClass(0)
30
{}
31
32
void
classifyByVertexUV(
const
GEO_Detail
&gdp,
33
const
GA_ROHandleV3
&attrib,
34
const
GA_PrimitiveGroup
*exclude_prims=NULL);
35
void
classifyBySharedPoints(
const
GEO_Detail
&gdp,
36
const
GA_PrimitiveGroup
*exclude_prims=NULL);
37
void
classifyByEdgeCuts(
const
GEO_Detail
&gdp,
38
const
GEO_DetachedHedgeInterface
&hi,
39
const
GA_EdgeGroup
*cuts=NULL,
40
const
GA_PrimitiveGroup
*exclude_prims=NULL);
41
42
int
getClass
(
int
idx)
const
43
{
return
myClasses((
unsigned
)idx); }
44
int
getNumClass
()
const
45
{
return
myNumClass; }
46
const
UT_IntArray
&
getClassArray
()
const
47
{
return
myClasses; }
48
49
int64
getMemoryUsage
(
bool
inclusive)
const
50
{
51
int64
mem = inclusive ?
sizeof
(*this) : 0;
52
mem += myClasses.getMemoryUsage(
false
);
53
return
mem;
54
}
55
56
protected
:
57
// Methods which collapse & search for classes...
58
int
findClass(
int
idx);
59
60
UT_IntArray
myClasses
;
61
int
myNumClass
;
62
};
63
64
#endif
65
GA_PrimitiveGroup
Definition:
GA_ElementGroup.h:74
GEO_PrimClassifier::myNumClass
int myNumClass
Definition:
GEO_PrimClassifier.h:61
GA_ROHandleT< UT_Vector3F >
UT_IntArray.h
GEO_PrimClassifier::getNumClass
int getNumClass() const
Definition:
GEO_PrimClassifier.h:44
UT_ValArray< int >
GEO_Detail
Definition:
GEO_Detail.h:247
GA_Handle.h
GEO_API
#define GEO_API
Definition:
GEO_API.h:14
int64
long long int64
Definition:
SYS_Types.h:116
GEO_PrimClassifier::getClassArray
const UT_IntArray & getClassArray() const
Definition:
GEO_PrimClassifier.h:46
GEO_PrimClassifier::getClass
int getClass(int idx) const
Definition:
GEO_PrimClassifier.h:42
GEO_DetachedHedgeInterface
Definition:
GEO_HedgeInterface.h:444
GEO_API.h
GA_EdgeGroup
Definition:
GA_EdgeGroup.h:42
GEO_PrimClassifier
Definition:
GEO_PrimClassifier.h:25
GEO_PrimClassifier::getMemoryUsage
int64 getMemoryUsage(bool inclusive) const
Definition:
GEO_PrimClassifier.h:49
GEO_PrimClassifier::GEO_PrimClassifier
GEO_PrimClassifier()
Definition:
GEO_PrimClassifier.h:28
GEO_PrimClassifier::myClasses
UT_IntArray myClasses
Definition:
GEO_PrimClassifier.h:60
GEO
GEO_PrimClassifier.h
Generated on Tue Dec 17 2024 03:39:42 for HDK by
1.8.6