11struct OffsetContourIndex
17 bool valid()
const {
return contourId >= 0 && vertId >= 0; }
20struct OffsetContoursOrigins
24 OffsetContourIndex lOrg;
26 OffsetContourIndex lDest;
28 OffsetContourIndex uOrg;
30 OffsetContourIndex uDest;
41 bool valid()
const {
return lOrg.valid(); }
42 bool isIntersection()
const {
return lDest.valid(); }
44using OffsetContoursVertMap = std::vector<OffsetContoursOrigins>;
45using OffsetContoursVertMaps = std::vector<OffsetContoursVertMap>;
47struct OffsetContoursParams
54 } type{ Type::Offset };
61 } endType{ EndType::Round };
68 } cornerType{ CornerType::Round };
71 float minAnglePrecision = PI_F / 9.0f;
73 float maxSharpAngle = PI_F * 2.0f / 3.0f;
84using ContoursVariableOffset = std::function<float(
int,
int )>;
90struct OffsetContoursRestoreZParams
94 using OriginZCallback = std::function<float(
const Contours2f& offsetCont,
const OffsetContourIndex& offsetIndex,
const OffsetContoursOrigins& origingContourMapoing)>;
95 OriginZCallback zCallback;
106 ContoursVariableOffset offset,
const OffsetContoursParams& params = {},
const OffsetContoursRestoreZParams& zParmas = {} );
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MROffsetContours.h:48
new unsafe MR.Std.? Vector_StdVectorMROffsetContoursOrigins indicesMap
new unsafe ref int relaxIterations
Definition MRCameraOrientationPlugin.h:8
MRMESH_API Contours2f offsetContours(const Contours2f &contours, float offset, const OffsetContoursParams ¶ms={})
offsets 2d contours in plane