Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
FaceList.h File Reference

CFaceList class is the base class for different kind of face list. More...

Detailed Description

CFaceList class is the base class for different kind of face list.

#include "DataChunk.h"
#include "3DExtraData.h"
#include "AssociationMap.h"
#include "ElementArray.h"
#include "Face.h"

Go to the source code of this file.

Classes

class  CFacePropertyMethods
 
class  C3DEdge
 C3DEdge is a class containing 2 point indexes that represent the edge of a face. More...
 
class  CFaceGraphHelper
 This class allows to increase performance on repetitive calls to specific CFaceList methods. More...
 
class  CFaceTagger
 CFaceTagger is the base class that allows to gather face together using C3DFaceList::TagFaces. More...
 
class  CFaceList
 CFaceList is the common base class for a lot of different classes (C3DFaceList, CUVWFaceList...) More...
 
class  CSingleFace
 

Macros

#define FACEPROPERTY_CHUNK   MAKE_CUSTOM_ID('F', 'C', 'P', 'R')
 
#define FACE_ORIGINAL_INDEX_CHUNK   MAKE_CUSTOM_ID('F', 'A', 'O', 'I')
 
#define FACE_SMOOTH_FLAG   MAKE_CUSTOM_ID('F', 'A', 'S', 'F')
 
#define FACE_SUB_MAT_FLAG   MAKE_CUSTOM_ID('F', 'A', 'S', 'M')
 
#define FACE_BACK_MATERIAL   MAKE_CUSTOM_ID('B', 'K', 'M', 'T')
 
#define FACETAG_DATA_CHUNK   MAKE_CUSTOM_ID('F', 'C', 'T', 'G')
 
#define FACELIST_DEFAULT_INDEX_NBR   4
 

Typedefs

typedef enum FACELIST_PROPERTIES FACELIST_PROPERTIES
 
typedef enum ConnectionInfoType ConnectionInfoType
 

Enumerations

enum  FACELIST_PROPERTIES {
  FACELIST_NONE = 0x00 , FACELIST_INTERNAL_FLAGS = 0xFFF00000 , FACELIST_ORDERED_FOR_RENDERING = 0x00100000 , FACELIST_MAT2FACE_INCLUDE_BACK = 0x00200000 ,
  FACELIST_HAS_CHANGED = 0x00400000 , FACELIST_SERIALIZE_FLAGS = FACELIST_ORDERED_FOR_RENDERING
}
 some face list properties More...
 
enum  ConnectionInfoType {
  CONNECTION_PT1_OR_PT2 = 1 , CONNECTION_PT1_AND_PT2 = 2 , CONNECTION_PT1_MINUS_PT2 , CONNECTION_PT2_MINUS_PT1 ,
  CONNECTION_PT1_XOR_PT2 , CONNECTION_EDGE1 = 0x01 , CONNECTION_EDGE2 = 0x02 , CONNECTION_EXCLUDE_EDGE12 = 0x04 ,
  CONNECTION_BY_POINTS = CONNECTION_PT1_OR_PT2 , CONNECTION_BY_EDGES = CONNECTION_PT1_AND_PT2 , CONNECTION_BY_FACES , CONNECTION_BY_FACES_EXCLUDING_EDGE
}
 This enum allows to get a set of face indexes given two point indexes It is used by different methods such CFaceList::GetFacesConnectedToPoints or CFaceList::GetFacesNeighbourg. More...
 

Enumeration Type Documentation

◆ ConnectionInfoType

This enum allows to get a set of face indexes given two point indexes It is used by different methods such CFaceList::GetFacesConnectedToPoints or CFaceList::GetFacesNeighbourg.

Enumerator
CONNECTION_PT1_OR_PT2 

The following are used by CFaceList::GetFacesConnectedToPoints.

Union of faces shared by pt1 and pt2

CONNECTION_PT1_AND_PT2 

Intersection of faces shared by pt1 and pt2.

CONNECTION_PT1_MINUS_PT2 

Faces shared by pt1 but not by pt2.

CONNECTION_PT2_MINUS_PT1 

Faces shared by pt2 but not by pt1.

CONNECTION_PT1_XOR_PT2 

All faces shared by pt1 xor pt2.

CONNECTION_EDGE1 

Used by CFaceList::GetFacesByOppositeEdges.

CONNECTION_EDGE2 

Used by CFaceList::GetFacesByOppositeEdges.

CONNECTION_EXCLUDE_EDGE12 

Used by CFaceList::GetFacesByOppositeEdges.

CONNECTION_BY_POINTS 

Get neighbourg faces of face index (CFaceList::GetFacesNeighbourg)

CONNECTION_BY_EDGES 

Get point indexes of any edges which contain point index (link by and edge) or get faces connected by an edge to face index (CFaceList::GetFacesNeighbourg)

CONNECTION_BY_FACES 

Get point indexes of any faces which contain point index (CFaceList::GetPointsNeighbourg only)

CONNECTION_BY_FACES_EXCLUDING_EDGE 

Get point indexes of any faces which contain point index minus the edges which contain point index (CFaceList::GetPointsNeighbourg only)

◆ FACELIST_PROPERTIES

some face list properties

Enumerator
FACELIST_HAS_CHANGED 

Should be set each time something important changed, in order to update internal graphs.