123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914 |
- /***********************************************************
- * File generated by the HALCON-Compiler hcomp version 20.11
- * Usage: Interface to C++
- *
- * Software by: MVTec Software GmbH, www.mvtec.com
- ***********************************************************/
- #ifndef HCPP_HXLDCONT
- #define HCPP_HXLDCONT
- namespace HalconCpp
- {
- // Represents an instance of an XLD contour object(-array).
- class LIntExport HXLDCont : public HXLD
- {
- public:
- // Create an uninitialized instance
- HXLDCont():HXLD() {}
- // Copy constructor
- HXLDCont(const HXLDCont& source) : HXLD(source) {}
- // Copy constructor
- HXLDCont(const HObject& object);
- // Create HXLDCont from object id. For copy=false takes
- // over management of input key. Type of key must match!
- explicit HXLDCont(Hkey key, bool copy=true);
- // Access of object tuple element
- const HXLDCont operator [] (Hlong index) const;
- /*****************************************************************************
- * Operator-based class constructors
- *****************************************************************************/
- // gen_contour_region_xld: Generate XLD contours from regions.
- explicit HXLDCont(const HRegion& Regions, const HString& Mode);
- // gen_contour_region_xld: Generate XLD contours from regions.
- explicit HXLDCont(const HRegion& Regions, const char* Mode);
- #ifdef _WIN32
- // gen_contour_region_xld: Generate XLD contours from regions.
- explicit HXLDCont(const HRegion& Regions, const wchar_t* Mode);
- #endif
- // gen_contour_polygon_xld: Generate an XLD contour from a polygon (given as tuples).
- explicit HXLDCont(const HTuple& Row, const HTuple& Col);
- /***************************************************************************
- * Operators *
- ***************************************************************************/
- // Compute the union of cotangential contours.
- HXLDCont UnionCotangentialContoursXld(double FitClippingLength, const HTuple& FitLength, double MaxTangAngle, double MaxDist, double MaxDistPerp, double MaxOverlap, const HString& Mode) const;
- // Compute the union of cotangential contours.
- HXLDCont UnionCotangentialContoursXld(double FitClippingLength, double FitLength, double MaxTangAngle, double MaxDist, double MaxDistPerp, double MaxOverlap, const HString& Mode) const;
- // Compute the union of cotangential contours.
- HXLDCont UnionCotangentialContoursXld(double FitClippingLength, double FitLength, double MaxTangAngle, double MaxDist, double MaxDistPerp, double MaxOverlap, const char* Mode) const;
- #ifdef _WIN32
- // Compute the union of cotangential contours.
- HXLDCont UnionCotangentialContoursXld(double FitClippingLength, double FitLength, double MaxTangAngle, double MaxDist, double MaxDistPerp, double MaxOverlap, const wchar_t* Mode) const;
- #endif
- // Transform a contour in polar coordinates back to Cartesian coordinates
- HXLDCont PolarTransContourXldInv(const HTuple& Row, const HTuple& Column, double AngleStart, double AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height) const;
- // Transform a contour in polar coordinates back to Cartesian coordinates
- HXLDCont PolarTransContourXldInv(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong WidthIn, Hlong HeightIn, Hlong Width, Hlong Height) const;
- // Transform a contour in an annular arc to polar coordinates.
- HXLDCont PolarTransContourXld(const HTuple& Row, const HTuple& Column, double AngleStart, double AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, Hlong Width, Hlong Height) const;
- // Transform a contour in an annular arc to polar coordinates.
- HXLDCont PolarTransContourXld(double Row, double Column, double AngleStart, double AngleEnd, double RadiusStart, double RadiusEnd, Hlong Width, Hlong Height) const;
- // Transform a NURBS curve into an XLD contour.
- void GenContourNurbsXld(const HTuple& Rows, const HTuple& Cols, const HTuple& Knots, const HTuple& Weights, Hlong Degree, const HTuple& MaxError, const HTuple& MaxDistance);
- // Transform a NURBS curve into an XLD contour.
- void GenContourNurbsXld(const HTuple& Rows, const HTuple& Cols, const HString& Knots, const HString& Weights, Hlong Degree, double MaxError, double MaxDistance);
- // Transform a NURBS curve into an XLD contour.
- void GenContourNurbsXld(const HTuple& Rows, const HTuple& Cols, const char* Knots, const char* Weights, Hlong Degree, double MaxError, double MaxDistance);
- #ifdef _WIN32
- // Transform a NURBS curve into an XLD contour.
- void GenContourNurbsXld(const HTuple& Rows, const HTuple& Cols, const wchar_t* Knots, const wchar_t* Weights, Hlong Degree, double MaxError, double MaxDistance);
- #endif
- // Compute the union of closed contours.
- HXLDCont Union2ClosedContoursXld(const HXLDCont& Contours2) const;
- // Compute the symmetric difference of closed contours.
- HXLDCont SymmDifferenceClosedContoursXld(const HXLDCont& Contours2) const;
- // Compute the difference of closed contours.
- HXLDCont DifferenceClosedContoursXld(const HXLDCont& Sub) const;
- // Intersect closed contours.
- HXLDCont IntersectionClosedContoursXld(const HXLDCont& Contours2) const;
- // Compute the union of contours that belong to the same circle.
- HXLDCont UnionCocircularContoursXld(const HTuple& MaxArcAngleDiff, const HTuple& MaxArcOverlap, const HTuple& MaxTangentAngle, const HTuple& MaxDist, const HTuple& MaxRadiusDiff, const HTuple& MaxCenterDist, const HString& MergeSmallContours, Hlong Iterations) const;
- // Compute the union of contours that belong to the same circle.
- HXLDCont UnionCocircularContoursXld(double MaxArcAngleDiff, double MaxArcOverlap, double MaxTangentAngle, double MaxDist, double MaxRadiusDiff, double MaxCenterDist, const HString& MergeSmallContours, Hlong Iterations) const;
- // Compute the union of contours that belong to the same circle.
- HXLDCont UnionCocircularContoursXld(double MaxArcAngleDiff, double MaxArcOverlap, double MaxTangentAngle, double MaxDist, double MaxRadiusDiff, double MaxCenterDist, const char* MergeSmallContours, Hlong Iterations) const;
- #ifdef _WIN32
- // Compute the union of contours that belong to the same circle.
- HXLDCont UnionCocircularContoursXld(double MaxArcAngleDiff, double MaxArcOverlap, double MaxTangentAngle, double MaxDist, double MaxRadiusDiff, double MaxCenterDist, const wchar_t* MergeSmallContours, Hlong Iterations) const;
- #endif
- // Crop an XLD contour.
- HXLDCont CropContoursXld(const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, const HString& CloseContours) const;
- // Crop an XLD contour.
- HXLDCont CropContoursXld(double Row1, double Col1, double Row2, double Col2, const HString& CloseContours) const;
- // Crop an XLD contour.
- HXLDCont CropContoursXld(double Row1, double Col1, double Row2, double Col2, const char* CloseContours) const;
- #ifdef _WIN32
- // Crop an XLD contour.
- HXLDCont CropContoursXld(double Row1, double Col1, double Row2, double Col2, const wchar_t* CloseContours) const;
- #endif
- // Generate one XLD contour in the shape of a cross for each input point.
- void GenCrossContourXld(const HTuple& Row, const HTuple& Col, const HTuple& Size, double Angle);
- // Generate one XLD contour in the shape of a cross for each input point.
- void GenCrossContourXld(double Row, double Col, double Size, double Angle);
- // Sort contours with respect to their relative position.
- HXLDCont SortContoursXld(const HString& SortMode, const HString& Order, const HString& RowOrCol) const;
- // Sort contours with respect to their relative position.
- HXLDCont SortContoursXld(const char* SortMode, const char* Order, const char* RowOrCol) const;
- #ifdef _WIN32
- // Sort contours with respect to their relative position.
- HXLDCont SortContoursXld(const wchar_t* SortMode, const wchar_t* Order, const wchar_t* RowOrCol) const;
- #endif
- // Merge XLD contours from successive line scan images.
- HXLDCont MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, const HTuple& Margin, const HString& MergeBorder, Hlong MaxImagesCont) const;
- // Merge XLD contours from successive line scan images.
- HXLDCont MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const HString& MergeBorder, Hlong MaxImagesCont) const;
- // Merge XLD contours from successive line scan images.
- HXLDCont MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const char* MergeBorder, Hlong MaxImagesCont) const;
- #ifdef _WIN32
- // Merge XLD contours from successive line scan images.
- HXLDCont MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const wchar_t* MergeBorder, Hlong MaxImagesCont) const;
- #endif
- // Read XLD contours to a file in ARC/INFO generate format.
- void ReadContourXldArcInfo(const HString& FileName);
- // Read XLD contours to a file in ARC/INFO generate format.
- void ReadContourXldArcInfo(const char* FileName);
- #ifdef _WIN32
- // Read XLD contours to a file in ARC/INFO generate format.
- void ReadContourXldArcInfo(const wchar_t* FileName);
- #endif
- // Write XLD contours to a file in ARC/INFO generate format.
- void WriteContourXldArcInfo(const HString& FileName) const;
- // Write XLD contours to a file in ARC/INFO generate format.
- void WriteContourXldArcInfo(const char* FileName) const;
- #ifdef _WIN32
- // Write XLD contours to a file in ARC/INFO generate format.
- void WriteContourXldArcInfo(const wchar_t* FileName) const;
- #endif
- // Compute the parallel contour of an XLD contour.
- HXLDCont GenParallelContourXld(const HString& Mode, const HTuple& Distance) const;
- // Compute the parallel contour of an XLD contour.
- HXLDCont GenParallelContourXld(const HString& Mode, double Distance) const;
- // Compute the parallel contour of an XLD contour.
- HXLDCont GenParallelContourXld(const char* Mode, double Distance) const;
- #ifdef _WIN32
- // Compute the parallel contour of an XLD contour.
- HXLDCont GenParallelContourXld(const wchar_t* Mode, double Distance) const;
- #endif
- // Create an XLD contour in the shape of a rectangle.
- void GenRectangle2ContourXld(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2);
- // Create an XLD contour in the shape of a rectangle.
- void GenRectangle2ContourXld(double Row, double Column, double Phi, double Length1, double Length2);
- // Compute the distances of all contour points to a rectangle.
- HTuple DistRectangle2ContourPointsXld(Hlong ClippingEndPoints, double Row, double Column, double Phi, double Length1, double Length2) const;
- // Fit rectangles to XLD contours.
- void FitRectangle2ContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* PointOrder) const;
- // Fit rectangles to XLD contours.
- void FitRectangle2ContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Length1, double* Length2, HString* PointOrder) const;
- // Fit rectangles to XLD contours.
- void FitRectangle2ContourXld(const char* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Length1, double* Length2, HString* PointOrder) const;
- #ifdef _WIN32
- // Fit rectangles to XLD contours.
- void FitRectangle2ContourXld(const wchar_t* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Length1, double* Length2, HString* PointOrder) const;
- #endif
- // Segment XLD contour parts whose local attributes fulfill given conditions.
- HXLDCont SegmentContourAttribXld(const HTuple& Attribute, const HString& Operation, const HTuple& Min, const HTuple& Max) const;
- // Segment XLD contour parts whose local attributes fulfill given conditions.
- HXLDCont SegmentContourAttribXld(const HString& Attribute, const HString& Operation, double Min, double Max) const;
- // Segment XLD contour parts whose local attributes fulfill given conditions.
- HXLDCont SegmentContourAttribXld(const char* Attribute, const char* Operation, double Min, double Max) const;
- #ifdef _WIN32
- // Segment XLD contour parts whose local attributes fulfill given conditions.
- HXLDCont SegmentContourAttribXld(const wchar_t* Attribute, const wchar_t* Operation, double Min, double Max) const;
- #endif
- // Segment XLD contours into line segments and circular or elliptic arcs.
- HXLDCont SegmentContoursXld(const HString& Mode, Hlong SmoothCont, double MaxLineDist1, double MaxLineDist2) const;
- // Segment XLD contours into line segments and circular or elliptic arcs.
- HXLDCont SegmentContoursXld(const char* Mode, Hlong SmoothCont, double MaxLineDist1, double MaxLineDist2) const;
- #ifdef _WIN32
- // Segment XLD contours into line segments and circular or elliptic arcs.
- HXLDCont SegmentContoursXld(const wchar_t* Mode, Hlong SmoothCont, double MaxLineDist1, double MaxLineDist2) const;
- #endif
- // Approximate XLD contours by circles.
- void FitCircleContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Radius, HTuple* StartPhi, HTuple* EndPhi, HTuple* PointOrder) const;
- // Approximate XLD contours by circles.
- void FitCircleContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Radius, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- // Approximate XLD contours by circles.
- void FitCircleContourXld(const char* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Radius, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- #ifdef _WIN32
- // Approximate XLD contours by circles.
- void FitCircleContourXld(const wchar_t* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Radius, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- #endif
- // Approximate XLD contours by line segments.
- void FitLineContourXld(const HString& Algorithm, Hlong MaxNumPoints, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, HTuple* RowBegin, HTuple* ColBegin, HTuple* RowEnd, HTuple* ColEnd, HTuple* Nr, HTuple* Nc, HTuple* Dist) const;
- // Approximate XLD contours by line segments.
- void FitLineContourXld(const HString& Algorithm, Hlong MaxNumPoints, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* RowBegin, double* ColBegin, double* RowEnd, double* ColEnd, double* Nr, double* Nc, double* Dist) const;
- // Approximate XLD contours by line segments.
- void FitLineContourXld(const char* Algorithm, Hlong MaxNumPoints, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* RowBegin, double* ColBegin, double* RowEnd, double* ColEnd, double* Nr, double* Nc, double* Dist) const;
- #ifdef _WIN32
- // Approximate XLD contours by line segments.
- void FitLineContourXld(const wchar_t* Algorithm, Hlong MaxNumPoints, Hlong ClippingEndPoints, Hlong Iterations, double ClippingFactor, double* RowBegin, double* ColBegin, double* RowEnd, double* ColEnd, double* Nr, double* Nc, double* Dist) const;
- #endif
- // Compute the distances of all contour points to an ellipse.
- HTuple DistEllipseContourPointsXld(const HString& DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const;
- // Compute the distances of all contour points to an ellipse.
- HTuple DistEllipseContourPointsXld(const char* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const;
- #ifdef _WIN32
- // Compute the distances of all contour points to an ellipse.
- HTuple DistEllipseContourPointsXld(const wchar_t* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const;
- #endif
- // Compute the distance of contours to an ellipse.
- void DistEllipseContourXld(const HString& Mode, Hlong MaxNumPoints, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2, HTuple* MinDist, HTuple* MaxDist, HTuple* AvgDist, HTuple* SigmaDist) const;
- // Compute the distance of contours to an ellipse.
- void DistEllipseContourXld(const HString& Mode, Hlong MaxNumPoints, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2, double* MinDist, double* MaxDist, double* AvgDist, double* SigmaDist) const;
- // Compute the distance of contours to an ellipse.
- void DistEllipseContourXld(const char* Mode, Hlong MaxNumPoints, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2, double* MinDist, double* MaxDist, double* AvgDist, double* SigmaDist) const;
- #ifdef _WIN32
- // Compute the distance of contours to an ellipse.
- void DistEllipseContourXld(const wchar_t* Mode, Hlong MaxNumPoints, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2, double* MinDist, double* MaxDist, double* AvgDist, double* SigmaDist) const;
- #endif
- // Approximate XLD contours by ellipses or elliptic arcs.
- void FitEllipseContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong VossTabSize, Hlong Iterations, double ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2, HTuple* StartPhi, HTuple* EndPhi, HTuple* PointOrder) const;
- // Approximate XLD contours by ellipses or elliptic arcs.
- void FitEllipseContourXld(const HString& Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong VossTabSize, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- // Approximate XLD contours by ellipses or elliptic arcs.
- void FitEllipseContourXld(const char* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong VossTabSize, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- #ifdef _WIN32
- // Approximate XLD contours by ellipses or elliptic arcs.
- void FitEllipseContourXld(const wchar_t* Algorithm, Hlong MaxNumPoints, double MaxClosureDist, Hlong ClippingEndPoints, Hlong VossTabSize, Hlong Iterations, double ClippingFactor, double* Row, double* Column, double* Phi, double* Radius1, double* Radius2, double* StartPhi, double* EndPhi, HString* PointOrder) const;
- #endif
- // Create XLD contours corresponding to circles or circular arcs.
- void GenCircleContourXld(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& StartPhi, const HTuple& EndPhi, const HTuple& PointOrder, double Resolution);
- // Create XLD contours corresponding to circles or circular arcs.
- void GenCircleContourXld(double Row, double Column, double Radius, double StartPhi, double EndPhi, const HString& PointOrder, double Resolution);
- // Create XLD contours corresponding to circles or circular arcs.
- void GenCircleContourXld(double Row, double Column, double Radius, double StartPhi, double EndPhi, const char* PointOrder, double Resolution);
- #ifdef _WIN32
- // Create XLD contours corresponding to circles or circular arcs.
- void GenCircleContourXld(double Row, double Column, double Radius, double StartPhi, double EndPhi, const wchar_t* PointOrder, double Resolution);
- #endif
- // Create an XLD contour that corresponds to an elliptic arc.
- void GenEllipseContourXld(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& StartPhi, const HTuple& EndPhi, const HTuple& PointOrder, double Resolution);
- // Create an XLD contour that corresponds to an elliptic arc.
- void GenEllipseContourXld(double Row, double Column, double Phi, double Radius1, double Radius2, double StartPhi, double EndPhi, const HString& PointOrder, double Resolution);
- // Create an XLD contour that corresponds to an elliptic arc.
- void GenEllipseContourXld(double Row, double Column, double Phi, double Radius1, double Radius2, double StartPhi, double EndPhi, const char* PointOrder, double Resolution);
- #ifdef _WIN32
- // Create an XLD contour that corresponds to an elliptic arc.
- void GenEllipseContourXld(double Row, double Column, double Phi, double Radius1, double Radius2, double StartPhi, double EndPhi, const wchar_t* PointOrder, double Resolution);
- #endif
- // Add noise to XLD contours.
- HXLDCont AddNoiseWhiteContourXld(Hlong NumRegrPoints, double Amp) const;
- // Approximate XLD contours by polygons.
- HXLDPoly GenPolygonsXld(const HString& Type, const HTuple& Alpha) const;
- // Approximate XLD contours by polygons.
- HXLDPoly GenPolygonsXld(const HString& Type, double Alpha) const;
- // Approximate XLD contours by polygons.
- HXLDPoly GenPolygonsXld(const char* Type, double Alpha) const;
- #ifdef _WIN32
- // Approximate XLD contours by polygons.
- HXLDPoly GenPolygonsXld(const wchar_t* Type, double Alpha) const;
- #endif
- // Apply a projective transformation to an XLD contour.
- HXLDCont ProjectiveTransContourXld(const HHomMat2D& HomMat2D) const;
- // Apply an arbitrary affine 2D transformation to XLD contours.
- HXLDCont AffineTransContourXld(const HHomMat2D& HomMat2D) const;
- // Close an XLD contour.
- HXLDCont CloseContoursXld() const;
- // Clip the end points of an XLD contour.
- HXLDCont ClipEndPointsContoursXld(const HString& Mode, const HTuple& Length) const;
- // Clip the end points of an XLD contour.
- HXLDCont ClipEndPointsContoursXld(const HString& Mode, double Length) const;
- // Clip the end points of an XLD contour.
- HXLDCont ClipEndPointsContoursXld(const char* Mode, double Length) const;
- #ifdef _WIN32
- // Clip the end points of an XLD contour.
- HXLDCont ClipEndPointsContoursXld(const wchar_t* Mode, double Length) const;
- #endif
- // Clip an XLD contour.
- HXLDCont ClipContoursXld(Hlong Row1, Hlong Column1, Hlong Row2, Hlong Column2) const;
- // Select XLD contours with a local maximum of gray values.
- HXLDCont LocalMaxContoursXld(const HImage& Image, const HTuple& MinPercent, Hlong MinDiff, Hlong Distance) const;
- // Select XLD contours with a local maximum of gray values.
- HXLDCont LocalMaxContoursXld(const HImage& Image, Hlong MinPercent, Hlong MinDiff, Hlong Distance) const;
- // Compute the union of neighboring straight contours that have a similar distance from a given line.
- HXLDCont UnionStraightContoursHistoXld(HXLDCont* SelectedContours, Hlong RefLineStartRow, Hlong RefLineStartColumn, Hlong RefLineEndRow, Hlong RefLineEndColumn, Hlong Width, Hlong MaxWidth, Hlong FilterSize, HTuple* HistoValues) const;
- // Compute the union of neighboring straight contours that have a similar direction.
- HXLDCont UnionStraightContoursXld(double MaxDist, double MaxDiff, double Percent, const HString& Mode, const HTuple& Iterations) const;
- // Compute the union of neighboring straight contours that have a similar direction.
- HXLDCont UnionStraightContoursXld(double MaxDist, double MaxDiff, double Percent, const HString& Mode, const HString& Iterations) const;
- // Compute the union of neighboring straight contours that have a similar direction.
- HXLDCont UnionStraightContoursXld(double MaxDist, double MaxDiff, double Percent, const char* Mode, const char* Iterations) const;
- #ifdef _WIN32
- // Compute the union of neighboring straight contours that have a similar direction.
- HXLDCont UnionStraightContoursXld(double MaxDist, double MaxDiff, double Percent, const wchar_t* Mode, const wchar_t* Iterations) const;
- #endif
- // Compute the union of collinear contours (operator with extended functionality).
- HXLDCont UnionCollinearContoursExtXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const HString& Mode) const;
- // Compute the union of collinear contours (operator with extended functionality).
- HXLDCont UnionCollinearContoursExtXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const char* Mode) const;
- #ifdef _WIN32
- // Compute the union of collinear contours (operator with extended functionality).
- HXLDCont UnionCollinearContoursExtXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const wchar_t* Mode) const;
- #endif
- // Unite approximately collinear contours.
- HXLDCont UnionCollinearContoursXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, const HString& Mode) const;
- // Unite approximately collinear contours.
- HXLDCont UnionCollinearContoursXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, const char* Mode) const;
- #ifdef _WIN32
- // Unite approximately collinear contours.
- HXLDCont UnionCollinearContoursXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, const wchar_t* Mode) const;
- #endif
- // Compute the union of contours whose end points are close together.
- HXLDCont UnionAdjacentContoursXld(double MaxDistAbs, double MaxDistRel, const HString& Mode) const;
- // Compute the union of contours whose end points are close together.
- HXLDCont UnionAdjacentContoursXld(double MaxDistAbs, double MaxDistRel, const char* Mode) const;
- #ifdef _WIN32
- // Compute the union of contours whose end points are close together.
- HXLDCont UnionAdjacentContoursXld(double MaxDistAbs, double MaxDistRel, const wchar_t* Mode) const;
- #endif
- // Select XLD contours according to several features.
- HXLDCont SelectContoursXld(const HString& Feature, double Min1, double Max1, double Min2, double Max2) const;
- // Select XLD contours according to several features.
- HXLDCont SelectContoursXld(const char* Feature, double Min1, double Max1, double Min2, double Max2) const;
- #ifdef _WIN32
- // Select XLD contours according to several features.
- HXLDCont SelectContoursXld(const wchar_t* Feature, double Min1, double Max1, double Min2, double Max2) const;
- #endif
- // Return XLD contour parameters.
- HTuple GetRegressParamsXld(HTuple* Nx, HTuple* Ny, HTuple* Dist, HTuple* Fpx, HTuple* Fpy, HTuple* Lpx, HTuple* Lpy, HTuple* Mean, HTuple* Deviation) const;
- // Calculate the parameters of a regression line to an XLD contour.
- HXLDCont RegressContoursXld(const HString& Mode, Hlong Iterations) const;
- // Calculate the parameters of a regression line to an XLD contour.
- HXLDCont RegressContoursXld(const char* Mode, Hlong Iterations) const;
- #ifdef _WIN32
- // Calculate the parameters of a regression line to an XLD contour.
- HXLDCont RegressContoursXld(const wchar_t* Mode, Hlong Iterations) const;
- #endif
- // Calculate the direction of an XLD contour for each contour point.
- HTuple GetContourAngleXld(const HString& AngleMode, const HString& CalcMode, Hlong Lookaround) const;
- // Calculate the direction of an XLD contour for each contour point.
- HTuple GetContourAngleXld(const char* AngleMode, const char* CalcMode, Hlong Lookaround) const;
- #ifdef _WIN32
- // Calculate the direction of an XLD contour for each contour point.
- HTuple GetContourAngleXld(const wchar_t* AngleMode, const wchar_t* CalcMode, Hlong Lookaround) const;
- #endif
- // Smooth an XLD contour.
- HXLDCont SmoothContoursXld(Hlong NumRegrPoints) const;
- // Return the number of points in an XLD contour.
- HTuple ContourPointNumXld() const;
- // Return the names of the defined global attributes of an XLD contour.
- HTuple QueryContourGlobalAttribsXld() const;
- // Return global attributes values of an XLD contour.
- HTuple GetContourGlobalAttribXld(const HTuple& Name) const;
- // Return global attributes values of an XLD contour.
- HTuple GetContourGlobalAttribXld(const HString& Name) const;
- // Return global attributes values of an XLD contour.
- HTuple GetContourGlobalAttribXld(const char* Name) const;
- #ifdef _WIN32
- // Return global attributes values of an XLD contour.
- HTuple GetContourGlobalAttribXld(const wchar_t* Name) const;
- #endif
- // Return the names of the defined attributes of an XLD contour.
- HTuple QueryContourAttribsXld() const;
- // Return point attribute values of an XLD contour.
- HTuple GetContourAttribXld(const HString& Name) const;
- // Return point attribute values of an XLD contour.
- HTuple GetContourAttribXld(const char* Name) const;
- #ifdef _WIN32
- // Return point attribute values of an XLD contour.
- HTuple GetContourAttribXld(const wchar_t* Name) const;
- #endif
- // Return the coordinates of an XLD contour.
- void GetContourXld(HTuple* Row, HTuple* Col) const;
- // Generate an XLD contour with rounded corners from a polygon (given as tuples).
- void GenContourPolygonRoundedXld(const HTuple& Row, const HTuple& Col, const HTuple& Radius, const HTuple& SamplingInterval);
- // Generate an XLD contour with rounded corners from a polygon (given as tuples).
- void GenContourPolygonRoundedXld(const HTuple& Row, const HTuple& Col, const HTuple& Radius, double SamplingInterval);
- // Generate an XLD contour from a polygon (given as tuples).
- void GenContourPolygonXld(const HTuple& Row, const HTuple& Col);
- // Calculate the difference of two object tuples.
- HXLDCont ObjDiff(const HXLDCont& ObjectsSub) const;
- // Copy an iconic object in the HALCON database.
- HXLDCont CopyObj(Hlong Index, Hlong NumObj) const;
- // Concatenate two iconic object tuples.
- HXLDCont ConcatObj(const HXLDCont& Objects2) const;
- // Select objects from an object tuple.
- HXLDCont SelectObj(const HTuple& Index) const;
- // Select objects from an object tuple.
- HXLDCont SelectObj(Hlong Index) const;
- // Compare iconic objects regarding equality.
- Hlong CompareObj(const HXLDCont& Objects2, const HTuple& Epsilon) const;
- // Compare iconic objects regarding equality.
- Hlong CompareObj(const HXLDCont& Objects2, double Epsilon) const;
- // Compare image objects regarding equality.
- Hlong TestEqualObj(const HXLDCont& Objects2) const;
- // Create a region from an XLD contour.
- HRegion GenRegionContourXld(const HString& Mode) const;
- // Create a region from an XLD contour.
- HRegion GenRegionContourXld(const char* Mode) const;
- #ifdef _WIN32
- // Create a region from an XLD contour.
- HRegion GenRegionContourXld(const wchar_t* Mode) const;
- #endif
- // Prepare an anisotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateAnisoShapeModelXld(const HTuple& NumLevels, double AngleStart, double AngleExtent, const HTuple& AngleStep, double ScaleRMin, double ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, double ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare an anisotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateAnisoShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleRMin, double ScaleRMax, double ScaleRStep, double ScaleCMin, double ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare an anisotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateAnisoShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleRMin, double ScaleRMax, double ScaleRStep, double ScaleCMin, double ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, Hlong MinContrast) const;
- #ifdef _WIN32
- // Prepare an anisotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateAnisoShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleRMin, double ScaleRMax, double ScaleRStep, double ScaleCMin, double ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast) const;
- #endif
- // Prepare an isotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateScaledShapeModelXld(const HTuple& NumLevels, double AngleStart, double AngleExtent, const HTuple& AngleStep, double ScaleMin, double ScaleMax, const HTuple& ScaleStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare an isotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateScaledShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleMin, double ScaleMax, double ScaleStep, const HString& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare an isotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateScaledShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleMin, double ScaleMax, double ScaleStep, const char* Optimization, const char* Metric, Hlong MinContrast) const;
- #ifdef _WIN32
- // Prepare an isotropically scaled shape model for matching from XLD contours.
- HShapeModel CreateScaledShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, double ScaleMin, double ScaleMax, double ScaleStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast) const;
- #endif
- // Prepare a shape model for matching from XLD contours.
- HShapeModel CreateShapeModelXld(const HTuple& NumLevels, double AngleStart, double AngleExtent, const HTuple& AngleStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare a shape model for matching from XLD contours.
- HShapeModel CreateShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, const HString& Optimization, const HString& Metric, Hlong MinContrast) const;
- // Prepare a shape model for matching from XLD contours.
- HShapeModel CreateShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, const char* Optimization, const char* Metric, Hlong MinContrast) const;
- #ifdef _WIN32
- // Prepare a shape model for matching from XLD contours.
- HShapeModel CreateShapeModelXld(Hlong NumLevels, double AngleStart, double AngleExtent, double AngleStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast) const;
- #endif
- // Prepare a deformable model for local deformable matching from XLD contours.
- HDeformableModel CreateLocalDeformableModelXld(const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for local deformable matching from XLD contours.
- HDeformableModel CreateLocalDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for local deformable matching from XLD contours.
- HDeformableModel CreateLocalDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Prepare a deformable model for local deformable matching from XLD contours.
- HDeformableModel CreateLocalDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Prepare a deformable model for planar calibrated matching from XLD contours.
- HDeformableModel CreatePlanarCalibDeformableModelXld(const HCamPar& CamParam, const HPose& ReferencePose, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for planar calibrated matching from XLD contours.
- HDeformableModel CreatePlanarCalibDeformableModelXld(const HCamPar& CamParam, const HPose& ReferencePose, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for planar calibrated matching from XLD contours.
- HDeformableModel CreatePlanarCalibDeformableModelXld(const HCamPar& CamParam, const HPose& ReferencePose, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Prepare a deformable model for planar calibrated matching from XLD contours.
- HDeformableModel CreatePlanarCalibDeformableModelXld(const HCamPar& CamParam, const HPose& ReferencePose, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Prepare a deformable model for planar uncalibrated matching from XLD contours.
- HDeformableModel CreatePlanarUncalibDeformableModelXld(const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for planar uncalibrated matching from XLD contours.
- HDeformableModel CreatePlanarUncalibDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a deformable model for planar uncalibrated matching from XLD contours.
- HDeformableModel CreatePlanarUncalibDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Prepare a deformable model for planar uncalibrated matching from XLD contours.
- HDeformableModel CreatePlanarUncalibDeformableModelXld(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const wchar_t* Optimization, const wchar_t* Metric, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid.
- HImage GenGridRectificationMap(const HImage& Image, HXLDCont* Meshes, Hlong GridSpacing, const HTuple& Rotation, const HTuple& Row, const HTuple& Column, const HString& MapType) const;
- // Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid.
- HImage GenGridRectificationMap(const HImage& Image, HXLDCont* Meshes, Hlong GridSpacing, const HString& Rotation, const HTuple& Row, const HTuple& Column, const HString& MapType) const;
- // Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid.
- HImage GenGridRectificationMap(const HImage& Image, HXLDCont* Meshes, Hlong GridSpacing, const char* Rotation, const HTuple& Row, const HTuple& Column, const char* MapType) const;
- #ifdef _WIN32
- // Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid.
- HImage GenGridRectificationMap(const HImage& Image, HXLDCont* Meshes, Hlong GridSpacing, const wchar_t* Rotation, const HTuple& Row, const HTuple& Column, const wchar_t* MapType) const;
- #endif
- // Interactive modification of a NURBS curve using interpolation.
- void DrawNurbsInterpMod(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio, const HString& Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& TangentsIn, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- // Interactive modification of a NURBS curve using interpolation.
- void DrawNurbsInterpMod(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio, const char* Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& TangentsIn, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- #ifdef _WIN32
- // Interactive modification of a NURBS curve using interpolation.
- void DrawNurbsInterpMod(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio, const wchar_t* Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& TangentsIn, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- #endif
- // Interactive drawing of a NURBS curve using interpolation.
- void DrawNurbsInterp(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio, Hlong Degree, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- // Interactive drawing of a NURBS curve using interpolation.
- void DrawNurbsInterp(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio, Hlong Degree, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- #ifdef _WIN32
- // Interactive drawing of a NURBS curve using interpolation.
- void DrawNurbsInterp(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio, Hlong Degree, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
- #endif
- // Interactive modification of a NURBS curve.
- void DrawNurbsMod(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio, const HString& Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& WeightsIn, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- // Interactive modification of a NURBS curve.
- void DrawNurbsMod(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio, const char* Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& WeightsIn, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- #ifdef _WIN32
- // Interactive modification of a NURBS curve.
- void DrawNurbsMod(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio, const wchar_t* Edit, Hlong Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& WeightsIn, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- #endif
- // Interactive drawing of a NURBS curve.
- void DrawNurbs(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio, Hlong Degree, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- // Interactive drawing of a NURBS curve.
- void DrawNurbs(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio, Hlong Degree, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- #ifdef _WIN32
- // Interactive drawing of a NURBS curve.
- void DrawNurbs(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio, Hlong Degree, HTuple* Rows, HTuple* Cols, HTuple* Weights);
- #endif
- // Interactive modification of a contour.
- HXLDCont DrawXldMod(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio, const HString& Edit) const;
- // Interactive modification of a contour.
- HXLDCont DrawXldMod(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio, const char* Edit) const;
- #ifdef _WIN32
- // Interactive modification of a contour.
- HXLDCont DrawXldMod(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio, const wchar_t* Edit) const;
- #endif
- // Interactive drawing of a contour.
- void DrawXld(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio);
- // Interactive drawing of a contour.
- void DrawXld(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio);
- #ifdef _WIN32
- // Interactive drawing of a contour.
- void DrawXld(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio);
- #endif
- // Calculate the pointwise distance from one contour to another.
- HXLDCont DistanceContoursXld(const HXLDCont& ContourTo, const HString& Mode) const;
- // Calculate the pointwise distance from one contour to another.
- HXLDCont DistanceContoursXld(const HXLDCont& ContourTo, const char* Mode) const;
- #ifdef _WIN32
- // Calculate the pointwise distance from one contour to another.
- HXLDCont DistanceContoursXld(const HXLDCont& ContourTo, const wchar_t* Mode) const;
- #endif
- // Calculate the minimum distance between two contours.
- HTuple DistanceCcMin(const HXLDCont& Contour2, const HString& Mode) const;
- // Calculate the minimum distance between two contours.
- HTuple DistanceCcMin(const HXLDCont& Contour2, const char* Mode) const;
- #ifdef _WIN32
- // Calculate the minimum distance between two contours.
- HTuple DistanceCcMin(const HXLDCont& Contour2, const wchar_t* Mode) const;
- #endif
- // Calculate the distance between two contours.
- void DistanceCc(const HXLDCont& Contour2, const HString& Mode, HTuple* DistanceMin, HTuple* DistanceMax) const;
- // Calculate the distance between two contours.
- void DistanceCc(const HXLDCont& Contour2, const HString& Mode, double* DistanceMin, double* DistanceMax) const;
- // Calculate the distance between two contours.
- void DistanceCc(const HXLDCont& Contour2, const char* Mode, double* DistanceMin, double* DistanceMax) const;
- #ifdef _WIN32
- // Calculate the distance between two contours.
- void DistanceCc(const HXLDCont& Contour2, const wchar_t* Mode, double* DistanceMin, double* DistanceMax) const;
- #endif
- // Calculate the distance between a line segment and one contour.
- void DistanceSc(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax) const;
- // Calculate the distance between a line segment and one contour.
- void DistanceSc(double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax) const;
- // Calculate the distance between a line and one contour.
- void DistanceLc(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax) const;
- // Calculate the distance between a line and one contour.
- void DistanceLc(double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax) const;
- // Calculate the distance between a point and one contour.
- void DistancePc(const HTuple& Row, const HTuple& Column, HTuple* DistanceMin, HTuple* DistanceMax) const;
- // Calculate the distance between a point and one contour.
- void DistancePc(double Row, double Column, double* DistanceMin, double* DistanceMax) const;
- // Read XLD contours from a DXF file.
- HTuple ReadContourXldDxf(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Read XLD contours from a DXF file.
- HString ReadContourXldDxf(const HString& FileName, const HString& GenParamName, double GenParamValue);
- // Read XLD contours from a DXF file.
- HString ReadContourXldDxf(const char* FileName, const char* GenParamName, double GenParamValue);
- #ifdef _WIN32
- // Read XLD contours from a DXF file.
- HString ReadContourXldDxf(const wchar_t* FileName, const wchar_t* GenParamName, double GenParamValue);
- #endif
- // Write XLD contours to a file in DXF format.
- void WriteContourXldDxf(const HString& FileName) const;
- // Write XLD contours to a file in DXF format.
- void WriteContourXldDxf(const char* FileName) const;
- #ifdef _WIN32
- // Write XLD contours to a file in DXF format.
- void WriteContourXldDxf(const wchar_t* FileName) const;
- #endif
- // Choose all contours or polygons containing a given point.
- HXLDCont SelectXldPoint(const HTuple& Row, const HTuple& Column) const;
- // Choose all contours or polygons containing a given point.
- HXLDCont SelectXldPoint(double Row, double Column) const;
- // Select contours or polygons using shape features.
- HXLDCont SelectShapeXld(const HTuple& Features, const HString& Operation, const HTuple& Min, const HTuple& Max) const;
- // Select contours or polygons using shape features.
- HXLDCont SelectShapeXld(const HString& Features, const HString& Operation, double Min, double Max) const;
- // Select contours or polygons using shape features.
- HXLDCont SelectShapeXld(const char* Features, const char* Operation, double Min, double Max) const;
- #ifdef _WIN32
- // Select contours or polygons using shape features.
- HXLDCont SelectShapeXld(const wchar_t* Features, const wchar_t* Operation, double Min, double Max) const;
- #endif
- // Transform the shape of contours or polygons.
- HXLDCont ShapeTransXld(const HString& Type) const;
- // Transform the shape of contours or polygons.
- HXLDCont ShapeTransXld(const char* Type) const;
- #ifdef _WIN32
- // Transform the shape of contours or polygons.
- HXLDCont ShapeTransXld(const wchar_t* Type) const;
- #endif
- // Calibrate the radial distortion.
- HXLDCont RadialDistortionSelfCalibration(Hlong Width, Hlong Height, double InlierThreshold, Hlong RandSeed, const HString& DistortionModel, const HString& DistortionCenter, double PrincipalPointVar, HCamPar* CameraParam) const;
- // Calibrate the radial distortion.
- HXLDCont RadialDistortionSelfCalibration(Hlong Width, Hlong Height, double InlierThreshold, Hlong RandSeed, const char* DistortionModel, const char* DistortionCenter, double PrincipalPointVar, HCamPar* CameraParam) const;
- #ifdef _WIN32
- // Calibrate the radial distortion.
- HXLDCont RadialDistortionSelfCalibration(Hlong Width, Hlong Height, double InlierThreshold, Hlong RandSeed, const wchar_t* DistortionModel, const wchar_t* DistortionCenter, double PrincipalPointVar, HCamPar* CameraParam) const;
- #endif
- // Transform an XLD contour into the plane z=0 of a world coordinate system.
- HXLDCont ContourToWorldPlaneXld(const HTuple& CameraParam, const HPose& WorldPose, const HTuple& Scale) const;
- // Transform an XLD contour into the plane z=0 of a world coordinate system.
- HXLDCont ContourToWorldPlaneXld(const HTuple& CameraParam, const HPose& WorldPose, const HString& Scale) const;
- // Transform an XLD contour into the plane z=0 of a world coordinate system.
- HXLDCont ContourToWorldPlaneXld(const HTuple& CameraParam, const HPose& WorldPose, const char* Scale) const;
- #ifdef _WIN32
- // Transform an XLD contour into the plane z=0 of a world coordinate system.
- HXLDCont ContourToWorldPlaneXld(const HTuple& CameraParam, const HPose& WorldPose, const wchar_t* Scale) const;
- #endif
- // Change the radial distortion of contours.
- HXLDCont ChangeRadialDistortionContoursXld(const HCamPar& CamParamIn, const HCamPar& CamParamOut) const;
- // Calculate the minimum distance between two contours and the points used for the calculation.
- HTuple DistanceCcMinPoints(const HXLDCont& Contour2, const HString& Mode, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2) const;
- // Calculate the minimum distance between two contours and the points used for the calculation.
- double DistanceCcMinPoints(const HXLDCont& Contour2, const HString& Mode, double* Row1, double* Column1, double* Row2, double* Column2) const;
- // Calculate the minimum distance between two contours and the points used for the calculation.
- double DistanceCcMinPoints(const HXLDCont& Contour2, const char* Mode, double* Row1, double* Column1, double* Row2, double* Column2) const;
- #ifdef _WIN32
- // Calculate the minimum distance between two contours and the points used for the calculation.
- double DistanceCcMinPoints(const HXLDCont& Contour2, const wchar_t* Mode, double* Row1, double* Column1, double* Row2, double* Column2) const;
- #endif
- // Insert objects into an iconic object tuple.
- HXLDCont InsertObj(const HXLDCont& ObjectsInsert, Hlong Index) const;
- // Remove objects from an iconic object tuple.
- HXLDCont RemoveObj(const HTuple& Index) const;
- // Remove objects from an iconic object tuple.
- HXLDCont RemoveObj(Hlong Index) const;
- // Replaces one or more elements of an iconic object tuple.
- HXLDCont ReplaceObj(const HXLDCont& ObjectsReplace, const HTuple& Index) const;
- // Replaces one or more elements of an iconic object tuple.
- HXLDCont ReplaceObj(const HXLDCont& ObjectsReplace, Hlong Index) const;
- private:
- // Verify matching semantic type ('xld_cont')!
- void AssertObjectClass();
- };
- }
- #endif
|