All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GU_Decompose Class Reference

#include <GU_Decompose.h>


struct  Iterator

Public Types

enum  DecompositionType { MAXIMAL_MANIFOLD = 0, EULER_TRAVERSAL }

Public Member Functions

 GU_Decompose (const GU_Detail *gdp, const GA_Group *grp, const GA_Group *split_grp=NULL, bool split_all=false, const GEO_DetachedHedgeInterface *hip=NULL, DecompositionType dectype=MAXIMAL_MANIFOLD)
 ~GU_Decompose ()
int fillComponentIDAttribute (GA_RWHandleI &attrib)
int getNumComponents ()
 Returns the number of maximal manifold components. More...
int getNumBoundaries ()
int getComponentNumBoundaries (int comp)
 Returns the number of boundary components of a given component. More...
int getBoundaryComponentID (int idx)
bool isComponentClosed (int idx)
GA_OffsetgetComponent (int idx, int &length)
int getComponentSize (int idx)
int getComponentSizesSum ()
int getBoundarySize (int idx)
GA_OffsetgetBoundary (int idx, int &length)
int getComponentBoundarySize (int comp, int i)
GA_OffsetgetComponentBoundary (int comp, int idx, int &length)
int getBoundarySizesSum ()
GA_GroupType getGroupType ()
Iterator getComponentIterator (int comp)
Iterator getBoundaryIterator (int bd)
Iterator getComponentBoundaryIterator (int comp, int bd)

Detailed Description

Definition at line 33 of file GU_Decompose.h.

Member Enumeration Documentation


Definition at line 37 of file GU_Decompose.h.

Constructor & Destructor Documentation

GU_Decompose::GU_Decompose ( const GU_Detail gdp,
const GA_Group grp,
const GA_Group split_grp = NULL,
bool  split_all = false,
const GEO_DetachedHedgeInterface hip = NULL,
DecompositionType  dectype = MAXIMAL_MANIFOLD 
GU_Decompose::~GU_Decompose ( )

Member Function Documentation

int GU_Decompose::fillComponentIDAttribute ( GA_RWHandleI attrib)
GA_Offset* GU_Decompose::getBoundary ( int  idx,
int length 

Returns a pointer to an array of half-edges which form the boundary cycle of numbered idx among all boundary cycles.

int GU_Decompose::getBoundaryComponentID ( int  idx)

Returns index of the primitive component to which the idx-th boundary cycle belongs.

Iterator GU_Decompose::getBoundaryIterator ( int  bd)

Definition at line 170 of file GU_Decompose.h.

int GU_Decompose::getBoundarySize ( int  idx)
int GU_Decompose::getBoundarySizesSum ( )
GA_Offset* GU_Decompose::getComponent ( int  idx,
int length 
GA_Offset* GU_Decompose::getComponentBoundary ( int  comp,
int  idx,
int length 

Returns a pointer to an array of half-edges which form the idx-th boundary cycle among all boundary chains for the patch comp. (first index is zero).

Iterator GU_Decompose::getComponentBoundaryIterator ( int  comp,
int  bd 

Definition at line 173 of file GU_Decompose.h.

int GU_Decompose::getComponentBoundarySize ( int  comp,
int  i 
Iterator GU_Decompose::getComponentIterator ( int  comp)

Definition at line 167 of file GU_Decompose.h.

int GU_Decompose::getComponentNumBoundaries ( int  comp)

Returns the number of boundary components of a given component.

int GU_Decompose::getComponentSize ( int  idx)
int GU_Decompose::getComponentSizesSum ( )
GA_GroupType GU_Decompose::getGroupType ( )

Definition at line 93 of file GU_Decompose.h.

int GU_Decompose::getNumBoundaries ( )

Returns the total number of boundary chains (cycles) in all the components. Note that some components may have no boundary chains and other may have multiple. For a 2-manifold maximal patch, i.e. one made of primitives, each boundary chain is a closed cycle of edges. For a 1-manifold maximal patch, i.e. oen made of edges, the boundary chain (when non-empty) consists of the two endpoints.

int GU_Decompose::getNumComponents ( )

Returns the number of maximal manifold components.

bool GU_Decompose::isComponentClosed ( int  idx)

The documentation for this class was generated from the following file: