8#include "RshPluginScript/RshPluginScriptDefines.h"
9#include "RshGeometry/Old/RshScanner.h"
10#include "RshPluginScript/SClass/SComp.h"
13namespace rsh::ScriptBinding
72 SUPPRESS_IN_VERTEX_ORDER
93 Number AbsoluteAccuracy
110 Number AbsoluteAccuracy
146 Number DistanceToOrigin,
148 Boolean InterpolateOnSegments
232 Boolean makePlanarJunction
326 Number MappingObject,
381 Boolean OptimizePosition
420 SMatrix CoordinateSystemMatrix = {}
463 return SComp::LoadColorGradient(FilePath);
487 return SComp::SaveColorGradient(FilePath);
618 Number iLoopMaxLength =
650 :
public SObjectStatic
679 static Array
FromClick() {
return SComp::GetFromClick<SMultiline>(SV_MULTI); }
685 static Array
FromName( String Name) {
return SComp::GetFromName<SMultiline>(Name); }
705 return SComp::GetAll<SMultiline>(VisCrit);
741 Array<SMultiline> TableLine,
743 Number MaxiSegmentLength,
780 Boolean makePlanarJunction,
782 Boolean chainWithInput
794 Array<SMultiline> TableMulti,
815 Number DesiredAccuracy
819Q_DECLARE_METATYPE(SMultiline::_SMultilineDummy);
827namespace rsh::Script::ScriptConvert
832 static char GetClassName() {
return "SMultiline"; }
834 typedef rsh::ScriptBinding::SMultiline ScriptClass;
839 return _iCompClass.GetGMultiLine();
The SComp class is an abstract class. Use derived classes SCircle, SCylinder, SCloud,...
Definition: SComp.h:32
Matrix with 3 lines and 4 columns to make any transformation. This class should be used in order to a...
Definition: SMatrix.h:21
Class to store a multiline, that is: an ordered list of points. The SMultiline creation can be done b...
Definition: SMultiLine.h:24
static Array FromClick()
Launches a click interaction to select a SComp in the scene.
Definition: SMultiLine.h:679
Array GetAutoIntersections(Number iLenghtTol)
Check whether a multiline contains autointersections.
Array Save(String FilePath, SMatrix CoordinateSystemMatrix={})
Saves the Multiline into a file.
static SMultiline New(SMultiline iOther)
Constructs an SMultiline by copying the SMultiline Other.
Array Smooth(Number Para1, Number SmoothIntens, SmoothEnum SmoothingType, Number MaxiDeviation)
Recalculates new vertices to smooth the current SMultiLine.
Array GetNormal()
Calculates the normal plane of the current SMultiline.
Array Proj3D(SPoint iPoint)
Search the closest 3D projection of a 3D Point this MultiLine. The projection can occur on a segment ...
Array GetDeviations()
return all deviation values of the multiline
Array InsertLast(SPoint iPointToCopy, Number AbsoluteAccuracy)
A point is added at the END of the multiline.
Array IntersectionWithPlane(SPlane iPlane)
Calculate intersection with 1 plane.
static Array MedianLine(Array< SMultiline > TableMulti, Number NbPt)
To compute the median line between two lines.
Number GetArea(SVector ProjDir)
Computes the area of a closed SMultiline projected with a direction.
Close()
Close a MultiLine.
MultilineRepresentationTypeEnum
The different representation types for multilines. Use SMultiline.FLAT.
Definition: SMultiLine.h:37
@ MULTILINE_VERTICES
Definition: SMultiLine.h:40
@ MULTILINE_SEGMENTS
Definition: SMultiLine.h:39
@ MULTILINE_INSPECTION
Definition: SMultiLine.h:41
Array Compare(SMultiline iMeasuredMulti, Number DistMax, SVector ProjectionDir={}, Number MappingObject, Boolean IgnoreEdge, Boolean PtToPt, Boolean InPlane)
Calculates the distances between 2 SMultilines for further inspection purpose (color mapping).
Array LoadColorGradient(String FilePath)
Loads the color gradient from a file (*.rsi binary file).
Definition: SMultiLine.h:459
Array CloseWithCurvedJunction(Number nPoints, Boolean makePlanarJunction)
Close a MultiLine with a curved junction.
Array IntersectionWithOtherPlanarMulti(SMultiline iMulti)
Calculate intersections between 2 planar multilines.
Array Offset(SVector Direction, Number DistOffset, OffsetSideEnum GoodSide, SPoint iSidePt)
Computes the parallel contour of a SMultiline according to a direction.
Array SaveColorGradient(String FilePath)
Saves the color gradient into a file (*.rsi binary file).
Definition: SMultiLine.h:483
static Array FromName(String Name)
Search all the component with the given name.
Definition: SMultiLine.h:685
Array RepairAutoIntersections(Number iLengthTol, Number iLoopMaxLength=-1, RepairAutoIntersectionPolicyEnum iPolicy)
Repair the autointersections if there were by suppressing the smallest loop bounded by autointersecti...
Array InsertFirst(SPoint iPointToCopy, Number AbsoluteAccuracy)
A point is added at the END of the multiline.
Array GetDeviation(Number iIndex)
SetLineWidth(Number width)
Change the thickness of the line.
Array ProjDir(SPoint iThePnt, SVector ProjDir, Number Aperture)
Search the closest projection along a direction on this MultiLine. The projection can occur on a segm...
static SMultiline New()
Default constructor to create an empty new SMultiline.
Array ClosestPoint(SPoint iPoint)
Finds the point in the current multiline that is the closest from an input point.
static Array CurvedJunction(SMultiline iFirstMultiline, SMultiline iSecondMultiline, Number nPoints, Boolean makePlanarJunction, Boolean chainWithInput)
Creates a curved junction between two SMultiline. .
OffsetSideEnum
To know on which side the offset is computing depending of a define point.
Definition: SMultiLine.h:51
@ OTHER_SIDE
Definition: SMultiLine.h:52
AddArrows(Number NbArrow, Number Position)
Add some arrows along the SMultiline.
Array RightAngle(Number Threshold)
Modifies the vertex of the SMultiline in order to get Right angles on the SMultiline.
static Array Cut(SMultiline TheSelEdge, SPoint iPoint)
Cut all the SMultiline by creating new segments between nearest SMultiline extremities....
Reverse()
Reverse the current multiline.
static Array MultilinesIntersections(Array< SMultiline > TableMulti, Number DesiredAccuracy)
Function to compute the set of intersections between an arbitrary number of Multilines.
String toString()
Get the type of the variable.
SmoothEnum
Enum the smoothing type.
Definition: SMultiLine.h:59
@ SMOOTH_TYPE1
Definition: SMultiLine.h:60
@ SMOOTH_TYPE2
Definition: SMultiLine.h:61
Clear()
Clear to deallocate memory.
Array GetPointAtDistance(Number DistanceToOrigin, Boolean InterpolateOnSegments)
Returns the point at a given distance on the current SMultiline.
Array Reduce(unsigned NbPoint, Number MaxDeviation, Boolean OptimizePosition)
Reduces the current SMultiline to have a certain number of points while keeping the best points.
static Array FromSel()
To get all the selected SComp.
Array GetColorGradient()
To get the color gradient of the SMultiline.
Definition: SMultiLine.h:440
Array SuppressSmallLines(Number iLengthTol)
Define a multiline suppressing the lines which have a length smaller than a tolerance length.
ShowName(Boolean iShowName)
Control whether the name of the multiline is shown or not in the scene.
static Array Chain(Array< SMultiline > TableLine, Number MaxiSegmentLength, Number Accuracy, Boolean Close)
Chain all the SMultiline by creating new segments between nearest SMultiline extremities....
static String toString()
Get the type of the variable.
SPoint GetPoint(unsigned Index)
Array FromFile(String FileName)
SPoint GetCentroidLinear()
Returns the barycenter of the current line considering the line having a constant linear density all ...
AddArrows(Boolean Reverse)
Add two arrows at the extremities of the SMultiline.
RepairAutoIntersectionPolicyEnum
Enum the autointersection reparation policy.
Definition: SMultiLine.h:69
@ SUPPRESS_SMALL_LOOPS_FIRST
Definition: SMultiLine.h:70
@ SUPPRESS_LONG_LOOPS_FIRST
Definition: SMultiLine.h:71
Array MultilineArea(SVector iProjDir)
Computes the area of a closed SMultiline projected with a direction.
static Array All(Number VisCrit)
To get all the SComp in the document.
Definition: SMultiLine.h:697
Array IntersectionWithMesh(SPoly iPoly)
Calculate intersections with 1 poly.
SetMultilineRepresentation(MultilineRepresentationTypeEnum Representation)
The representation of the component is modified.
Plane manipulation class. The SPlane creation can be done by calling the static functions: .
Definition: SPlane.h:24
3D point manipulation class. The SPoint creation can be done by calling the static functions:
Definition: SPoint.h:23
The SPoly class provides triangular mesh(es) manipulation. The SPoly creation can be done by calling ...
Definition: SPoly.h:39
The mathematical object vector.
Definition: SVector3.h:26