Holds polygon neighboring information.
return;
if (pPolyObj == nullptr)
return;
if (pPolyR == nullptr)
return;
if (!neighbor.
Init(pointCount, pPolyR, polyCount,
nullptr))
return;
for (
Int32 polyIdx = 0; polyIdx < polyCount; polyIdx++)
{
for (
Int32 edgeIdx = 0; edgeIdx < 4; edgeIdx++)
{
if (polyInfo->
mark[edgeIdx] || (edgeIdx == 2 && pPolyR[polyIdx].c == pPolyR[polyIdx].d))
continue;
Int32 edgeA = -1, edgeB = -1;
switch (edgeIdx)
{
case 0: edgeA = pPolyR[polyIdx].
a; edgeB = pPolyR[polyIdx].
b;
break;
case 1: edgeA = pPolyR[polyIdx].
b; edgeB = pPolyR[polyIdx].
c;
break;
case 2: edgeA = pPolyR[polyIdx].
c; edgeB = pPolyR[polyIdx].
d;
break;
case 3: edgeA = pPolyR[polyIdx].
d; edgeB = pPolyR[polyIdx].
a;
break;
}
}
}
MAXON_ATTRIBUTE_FORCE_INLINE const PolygonObject * ToPoly(const T *op)
Casts a BaseObject* to a PolygonObject*.
Definition: c4d_baseobject.h:2389
void GePrint(const maxon::String &str)
Definition: c4d_baseobject.h:2715
PolyInfo * GetPolyInfo(Int32 poly)
Definition: c4d_baseobject.h:2821
virtual Bool Init(Int32 pcnt, const CPolygon *vadr, Int32 vcnt, const BaseSelect *bs)
Int32 GetPointCount() const
Definition: c4d_baseobject.h:1613
Definition: c4d_baseobject.h:1784
Int32 GetPolygonCount() const
Definition: c4d_baseobject.h:1938
const CPolygon * GetPolygonR() const
Definition: c4d_baseobject.h:1924
static String IntToString(Int32 v)
Definition: c4d_string.h:497
maxon::Int32 Int32
Definition: ge_sys_math.h:56
#define Opolygon
Polygon - PolygonObject.
Definition: ge_prepass.h:1042
Represents a polygon that can be either a triangle or a quadrangle.
Definition: c4d_baseobject.h:44
Int32 d
Index of the fourth point in the polygon.
Definition: c4d_baseobject.h:48
Int32 b
Index of the second point in the polygon.
Definition: c4d_baseobject.h:46
Int32 c
Index of the third point in the polygon.
Definition: c4d_baseobject.h:47
Int32 a
Index of the first point in the polygon.
Definition: c4d_baseobject.h:45
Definition: c4d_baseobject.h:2674
Char mark[4]
Definition: c4d_baseobject.h:2677