Cyclone 3DR Script
from Technodigit, part of Hexagon. Copyright 1997-2022.
 
Loading...
Searching...
No Matches
SSurveying.h
1#ifndef SCRIPT_TOPO_PROTOTYPE_H
2#define SCRIPT_TOPO_PROTOTYPE_H
3
4#include "RshGeometry/Old/CommonEnums.h"
5#include "OldDlg/CmdCompareCrossSections.h"
6#include "OldDlg/CmdCreateAlongAxis.h"
7#include <QtCore/QMetaType>
8#include <QtCore/QObject>
9#include <QtCore/QSharedPointer>
10#include <QtScript/Array>
11#include <QtScript/QScriptable>
12
13#ifndef FCT_DOC
14namespace rsh::ScriptBinding
15{
16#endif // !FCT_DOC
17
25#ifdef FCT_DOC
26namespace SSurveying
27#else
28class SSurveying : public QObject, QScriptable
29#endif // FCT_DOC
30{
31//======================================================================================================================
32// INTERNAL FUNCTION
33//======================================================================================================================
34//======================================================================================================================
35// DOCUMENTED FUNCTION
36//======================================================================================================================
37
38// bit mask used by the tunnel extractor processing
40{
46};
47
49{
50 FastMesh,
59};
60
61static_assert((Number)TunnelMeshingStrategy::LastMeshingStrategy == (Number)MeshingStrategy::LastMeshingStrategy);
62
64{
65 vertical,
70};
71
73{
78};
79
80public slots:
90// TESTED
92 SPoly Poly,
94 SMultiline Axis,
96 Number Radius,
98 Boolean WithRelief,
100 SVector Direction =
101 SVector(0, 0, -1),
103 Array iGridOptions = Array()
110);
111
121// TESTED
123 SCloud CloudToFlatten,
125 SMultiline Axis,
127 Number Radius,
129 Boolean WithRelief,
131 SVector Direction =
132 SVector(0, 0, -1),
134 Array iGridOptions = Array()
141);
142
149// TESTED
151 SSetMultiline RidgeLines,
153 SSetMultiline RavineLines,
155 Number Length,
157 Number Pertinence
159);
160
173// TESTED
174static Array ExtractGround(
175 SCloud iCloud,
177 Number Step,
179 Number AngleDeg,
182 SVector
183 Direction,
185 Number GroundExtractionStrategy,
190 Number MeshingStrategy
195);
196
211static Array ExtractTunnel(
212 SCloud initialCloud,
214 SMultiline NeutralAxis,
216 Number Step,
219 TunnelComputedObj ComputedObjects,
224 TunnelMeshingStrategy MeshStrategy,
229 Boolean TryToKeepDetails
233);
234
252 SComp FirstComp,
254 SComp SecondComp,
256 SComp NeutralAxis,
258 Array<Number> iDistanceList =
259 Array<Number>(),
261 Array iSections = Array(),
268 Array iOptions = Array()
279);
280
295 Array<SComp> tblDComp,
297 InspectionType iInspectionType,
299 SVector iDirection2D,
301 String iReferenceName,
303 Array iOptions = Array(),
314 SReportData ipReportData
316);
317
330// TESTED
331static Array SurfaceLevelness(
332 Array<SComp> iCompToTreat,
334 SVector iDirection,
336 SPoint iPlanePosition
338);
339
351// TESTED
352static Array FloorFlatness(
353 Array<SComp> iCompToTreat,
355 SVector
356 iDirection,
358 Number iRulerLength,
360 Number iTolerance
362);
363
375// TESTED
376static Array SlopeAnalysis(
377 Array<SComp> iCompToTreat,
379 Number iSlopeTolerance,
381 Boolean isPercentage,
383 Number iNeighborsDistance,
387 SVector iUpVector = SVector(0, 0, 1)
389);
390
406static Array WallsAndFloors(
407 Array<SCloud> iCloudsToTreat,
409 Array iOptions
418);
419
429static Array UnrollAlong(
430 Array<SMultiline> iMultiToUnroll,
432 SMultiline iAxis,
434 Number iAltiRef
436);
437
450static Array ContourLinesPoly(
451 SPoly iPoly,
453 SVector iNormalAxis,
455 Number iStep,
457 Number iHeightStart,
459 Number iHeightEnd,
461 Array iRenderingOption = Array(),
464 // * intermNormalLineNb (integer numerical value), // number of step between major lines (if 0 - default value - no major lines are emphasized)
467 // * colorMajor (QColor), // color of major lines (default color: red)
470 // * widthNormal (integer numerical value), // width of normal lines (between 1 and 11) (default value = 1)
473 Number iFilterLength
475);
476
488static Array ContourLinesCloud(
489 SCloud ipCloud,
491 SVector iNormalAxis,
493 Number iStep,
495 Number iHeightStart,
497 Number iHeightEnd,
499 Number iPlaneThickness,
502 Number iChainingDist,
505 Boolean iCheckNoise,
507 Array iRenderingOption = Array(),
510 // * intermNormalLineNb (integer numerical value), // number of step between major lines (if 0 - default value - no major lines are emphasized)
513 // * colorMajor (Array of 3 integer numerical value), // color of major lines (default color: red [255, 0, 0])
516 // * widthNormal (integer numerical value), // width of normal lines (between 1 and 11) (default value = 1)
519 Number iFilterLength
521);
522
531// TESTED
532static Array ComputeDsm(
533 Array<SCloud> iClouds,
535 Number iStep = 0.
537);
538
541// This function overloaded via an evaluate
542static String GetType()
543{
544 return String();
545}
546
549 String toString() ;
550};
551
552#ifndef FCT_DOC
553} // namespace rsh::ScriptBinding
554#endif // !FCT_DOC
555
556Q_DECLARE_METATYPE(rsh::ScriptBinding::SSurveying);
557
558#endif // SCRIPT_TOPO_PROTOTYPE_H
The SCloud class provides point cloud manipulation. The SCloud creation can be done by calling the st...
Definition: SCloud.h:41
The SComp class is an abstract class. Use derived classes SCircle, SCylinder, SCloud,...
Definition: SComp.h:32
Class to store a multiline, that is: an ordered list of points. The SMultiline creation can be done b...
Definition: SMultiLine.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
Class to store reporting data. Reporting data corresponds to a chapter of a report....
Definition: SReportData.h:19
SSetMultiline class is a set of SMultiline, it will allow to regroup SMultiline in an SComp entity,...
Definition: SSetMultiline.h:27
The mathematical object vector.
Definition: SVector3.h:26
Definition: SSurveying.h:30
static Array ContourLinesPoly(SPoly iPoly, SVector iNormalAxis, Number iStep, Number iHeightStart, Number iHeightEnd, Array iRenderingOption=Array(), Number iFilterLength)
Creates contour lines on a mesh.
static Array SurfaceLevelness(Array< SComp > iCompToTreat, SVector iDirection, SPoint iPlanePosition)
Compute a surface levelness analysis on meshes or clouds.
static Array WallsAndFloors(Array< SCloud > iCloudsToTreat, Array iOptions)
Segment walls, floors and ceilings from a point cloud.
static Array UnrollAlong(Array< SMultiline > iMultiToUnroll, SMultiline iAxis, Number iAltiRef)
Unroll polylines along an axis.
static Array ComputeDsm(Array< SCloud > iClouds, Number iStep=0.)
Compute the Digital Surface Model of one (or several) cloud(s)
static Array FlattenCylindricCloud(SCloud CloudToFlatten, SMultiline Axis, Number Radius, Boolean WithRelief, SVector Direction=SVector(0, 0, -1), Array iGridOptions=Array())
Flatten a cloud representing a tubular shape (for example a tunnel)
static Array ContourLinesCloud(SCloud ipCloud, SVector iNormalAxis, Number iStep, Number iHeightStart, Number iHeightEnd, Number iPlaneThickness, Number iChainingDist, Boolean iCheckNoise, Array iRenderingOption=Array(), Number iFilterLength)
Creates contour lines on a cloud.
InspectionType
Definition: SSurveying.h:73
@ RoadType
Definition: SSurveying.h:76
@ TunnelType
Definition: SSurveying.h:74
CrossSectionOrientation
Definition: SSurveying.h:64
@ locallyPerpendicular
Definition: SSurveying.h:67
@ vertical
Definition: SSurveying.h:65
static Array FilterFeatureLines(SSetMultiline RidgeLines, SSetMultiline RavineLines, Number Length, Number Pertinence)
Filter feature lines according to their length/pertinence.
static String GetType()
To return the type of the object.
Definition: SSurveying.h:542
static Array FlattenCylindricPoly(SPoly Poly, SMultiline Axis, Number Radius, Boolean WithRelief, SVector Direction=SVector(0, 0, -1), Array iGridOptions=Array())
Flatten a polyhedron representing a tubular shape (for example a tunnel)
TunnelComputedObj
Definition: SSurveying.h:40
@ TunnelCloud
Definition: SSurveying.h:42
@ TunnelMesh
Definition: SSurveying.h:41
@ TunnelNoiseCloud
Definition: SSurveying.h:44
static Array CreateCrossSections(SComp FirstComp, SComp SecondComp, SComp NeutralAxis, Array< Number > iDistanceList=Array< Number >(), Array iSections=Array(), Array iOptions=Array())
Create cross sections on an object (mesh or point cloud) along a polyline.
static Array ExtractTunnel(SCloud initialCloud, SMultiline NeutralAxis, Number Step, TunnelComputedObj ComputedObjects, TunnelMeshingStrategy MeshStrategy, Boolean TryToKeepDetails)
Extract points on exterior layer of the tunnel and create a mesh from those points.
static Array ExtractGround(SCloud iCloud, Number Step, Number AngleDeg, SVector Direction, Number GroundExtractionStrategy, Number MeshingStrategy)
Extract points on the ground (in a grid) and Create a mesh corresponding to the terrain in the point ...
static Array SlopeAnalysis(Array< SComp > iCompToTreat, Number iSlopeTolerance, Boolean isPercentage, Number iNeighborsDistance, SVector iUpVector=SVector(0, 0, 1))
Get the slope on each point of the object.
TunnelMeshingStrategy
Definition: SSurveying.h:49
@ RefineMesh
Definition: SSurveying.h:54
@ FastMesh
Definition: SSurveying.h:50
@ LastMeshingStrategy
Definition: SSurveying.h:57
@ RegularResampling
Definition: SSurveying.h:52
static Array CompareCrossSections(Array< SComp > tblDComp, InspectionType iInspectionType, SVector iDirection2D, String iReferenceName, Array iOptions=Array(), SReportData ipReportData)
Compare sections by pair. To keep the compatibility between sections, they should be generated using ...
static Array FloorFlatness(Array< SComp > iCompToTreat, SVector iDirection, Number iRulerLength, Number iTolerance)
Compute a floor flatness analysis on meshes or clouds.