431 #define ME_POLY_LOOP_PREV(mloop, mp, i) \
432 (&(mloop)[(mp)->loopstart + (((i) + (mp)->totloop - 1) % (mp)->totloop)])
433 #define ME_POLY_LOOP_NEXT(mloop, mp, i) (&(mloop)[(mp)->loopstart + (((i) + 1) % (mp)->totloop)])
436 #define ME_POLY_TRI_TOT(mp) ((mp)->totloop - 2)
443 #define ME_MAT_NR_TEST(mat_nr, totmat) \
444 (CHECK_TYPE_ANY(mat_nr, short, const short), \
445 CHECK_TYPE_ANY(totmat, short, const short), \
446 (LIKELY(mat_nr < totmat) ? mat_nr : 0))
488 #define MESH_MLOOPCOL_FROM_MCOL(_mloopcol, _mcol) \
490 MLoopCol *mloopcol__tmp = _mloopcol; \
491 const MCol *mcol__tmp = _mcol; \
492 mloopcol__tmp->r = mcol__tmp->b; \
493 mloopcol__tmp->g = mcol__tmp->g; \
494 mloopcol__tmp->b = mcol__tmp->r; \
495 mloopcol__tmp->a = mcol__tmp->a; \
499 #define MESH_MLOOPCOL_TO_MCOL(_mloopcol, _mcol) \
501 const MLoopCol *mloopcol__tmp = _mloopcol; \
502 MCol *mcol__tmp = _mcol; \
503 mcol__tmp->b = mloopcol__tmp->r; \
504 mcol__tmp->g = mloopcol__tmp->g; \
505 mcol__tmp->r = mloopcol__tmp->b; \
506 mcol__tmp->a = mloopcol__tmp->a; \
typedef float(TangentPoint)[2]
These structs are the foundation for all linked lists in the library system.
struct FreestyleEdge FreestyleEdge
struct MBoolProperty MBoolProperty
struct MVertSkin MVertSkin
struct MStringProperty MStringProperty
struct GridPaintMask GridPaintMask
struct MDeformVert MDeformVert
struct OrigSpaceFace OrigSpaceFace
struct MDeformWeight MDeformWeight
struct OrigSpaceLoop OrigSpaceLoop
struct MInt8Property MInt8Property
struct MIntProperty MIntProperty
struct MFloatProperty MFloatProperty
struct FreestyleFace FreestyleFace