Assimp  v4.1. (December 2018)
Subdivision.cpp File Reference

Classes

class  CatmullClarkSubdivider
 Subdivider stub class to implement the Catmull-Clarke subdivision algorithm. More...
 
struct  CatmullClarkSubdivider::Edge
 Intermediate description of an edge between two corners of a polygon. More...
 

Macros

#define FLATTEN_FACE_IDX(mesh_idx, face_idx)   (moffsets[mesh_idx].first+face_idx)
 
#define FLATTEN_VERTEX_IDX(mesh_idx, vert_idx)   (moffsets[mesh_idx].second+vert_idx)
 
#define GET_ADJACENT_FACES_AND_CNT(vidx, fstartout, numout)   fstartout = &faceadjac[ofsadjvec[vidx]], numout = cntadjfac[vidx]
 
#define INIT_EDGE_HASH_TEMPORARIES()   unsigned int eh_tmp0__, eh_tmp1__;
 
#define MAKE_EDGE_HASH(id0, id1)
 

Functions

void mydummy ()
 

Macro Definition Documentation

◆ FLATTEN_FACE_IDX

#define FLATTEN_FACE_IDX (   mesh_idx,
  face_idx 
)    (moffsets[mesh_idx].first+face_idx)

◆ FLATTEN_VERTEX_IDX

#define FLATTEN_VERTEX_IDX (   mesh_idx,
  vert_idx 
)    (moffsets[mesh_idx].second+vert_idx)

◆ GET_ADJACENT_FACES_AND_CNT

#define GET_ADJACENT_FACES_AND_CNT (   vidx,
  fstartout,
  numout 
)    fstartout = &faceadjac[ofsadjvec[vidx]], numout = cntadjfac[vidx]

◆ INIT_EDGE_HASH_TEMPORARIES

#define INIT_EDGE_HASH_TEMPORARIES ( )    unsigned int eh_tmp0__, eh_tmp1__;

◆ MAKE_EDGE_HASH

#define MAKE_EDGE_HASH (   id0,
  id1 
)
Value:
(eh_tmp0__=id0,eh_tmp1__=id1,\
(eh_tmp0__<eh_tmp1__?std::swap(eh_tmp0__,eh_tmp1__):mydummy()),(uint64_t)eh_tmp0__^((uint64_t)eh_tmp1__<<32u))
void mydummy()
Definition: Subdivision.cpp:54
unsigned __int64 uint64_t
Definition: stdint.h:136
void swap(T &a, T &b)
Definition: o3dgcCommon.h:146

Function Documentation

◆ mydummy()

void mydummy ( )