Cyclone 3DR Script
from Technodigit, part of Hexagon. Copyright 1997-2022.
 
Loading...
Searching...
No Matches
SCircle.h
1
2
3
5
6#pragma once
7
8#include "RshPluginScript/RshPluginScriptDefines.h"
9#include "RshPluginScript/SClass/SFeature.h"
10
11#ifndef FCT_DOC
12namespace rsh::ScriptBinding
13{
14#endif // !FCT_DOC
15
23class SCircle : public SFeature
24{
25 //======================================================================================================================
26 // INTERNAL FUNCTION
27 //======================================================================================================================
28
29 //======================================================================================================================
30 // DOCUMENTED FUNCTION
31 //======================================================================================================================
32
33public slots: // these functions (slots) will be available in QtScript
34
38 // TESTED
39 Number GetRadius() ;
40
43 // TESTED
44 SetRadius(Number Radius
46 );
47
50 // TESTED
51 Number GetPerimeter() ;
52
62 // TESTED
64 Number deflection,
66 Number meanPointDistance
68 ) ;
69
74 // TESTED
75 Number Distance(
76 SPoint iPoint,
78 Boolean iCalcIn3D
80 ) ;
81
84 String toString() ;
85};
86
87// @brief
88// This class allows to wrap static functions to SCircle easily.
89// This allow to wrap constructor more easily : the constructor will be declared with the function New(...)
90class SCircle
91#ifndef FCT_DOC
92 : public SObjectStatic
93#endif // FCT_DOC
94{
95 //======================================================================================================================
96 // INTERNAL FUNCTION
97 //======================================================================================================================
98
99 //======================================================================================================================
100 // DOCUMENTED FUNCTION
101 //======================================================================================================================
102public slots:
105 // TESTED
106 static SCircle New();
107
110 // TESTED
111 static SCircle New(SCircle Other);
112
115 // TESTED
116 static SCircle New(
117 SPoint Center,
119 SVector Normal,
121 Number Radius
123 );
124
130 static SCircle New(
131 SLine tang1,
133 SLine tang2,
135 SPoint Pt,
137 Boolean LargeQ
139 );
140
142
148 // TESTED
149 static SCircle New(
150 SPoint FirstPt,
152 SPoint SecondPt,
154 SPoint ThirdPt
156 );
157
167 static Array FromClick() { return SComp::GetFromClick<SCircle>(SV_CIRCLE); }
168
172 // TESTED
173 static Array FromName( String Name) { return SComp::GetFromName<SCircle>(Name); }
174
178 // TESTED
179 static Array FromSel() { return SFeature::GetFromSel<SCircle>(); }
180
184 // TESTED
185 static Array All(
186 Number VisCrit
191 )
192 {
193 return SComp::GetAll<SCircle>(VisCrit);
194 }
195
198 static String toString();
199};
200Q_DECLARE_METATYPE(SCircle::_SCircleDummy);
201Q_DECLARE_METATYPE(SCircle);
202
203#ifndef FCT_DOC
204} // namespace rsh::ScriptBinding
205#endif // !FCT_DOC
Circle manipulation class. The SCircle creation can be done by calling the static functions: .
Definition: SCircle.h:24
static SCircle New(SPoint FirstPt, SPoint SecondPt, SPoint ThirdPt)
Constructs a new SCircle by 3 points.
static Array FromClick()
Launches a click interaction to select a SComp in the scene.
Definition: SCircle.h:167
static SCircle New(SPoint Center, SVector Normal, Number Radius)
Constructs a new SCircle by defining its data.
static Array FromName(String Name)
Search all the component with the given name.
Definition: SCircle.h:173
SCircle NewC(SCloud inCloud)
static Array All(Number VisCrit)
To get all the SComp in the document.
Definition: SCircle.h:185
SetRadius(Number Radius)
To set a new radius to the SCircle.
String toString()
Get the type of the variable.
Number GetPerimeter()
Returns the perimeter of the feature.
static SCircle New(SCircle Other)
Constructs an SCircle by copying Other.
Array Discretize(Number deflection, Number meanPointDistance)
To convert the continuous feature into a discretized SMultiline. Only one parameter must be specified...
Number GetRadius()
static SCircle New(SLine tang1, SLine tang2, SPoint Pt, Boolean LargeQ)
Constructs a new SCircle tangent to the two FLines and passing through Pt.
Number Distance(SPoint iPoint, Boolean iCalcIn3D)
Returns the distance between a point and the feature <0 if below/inside the feature >0 if above/outsi...
static String toString()
Get the type of the variable.
static SCircle New()
Default constructor to create an empty new SCircle.
static Array FromSel()
To get all the selected SComp.
Definition: SCircle.h:179
The SCloud class provides point cloud manipulation. The SCloud creation can be done by calling the st...
Definition: SCloud.h:41
The SFeature class is an abstract class.
Definition: SFeature.h:19
Line manipulation class. The SLine creation can be done by calling the static functions: .
Definition: SLine.h:25
3D point manipulation class. The SPoint creation can be done by calling the static functions:
Definition: SPoint.h:23
The mathematical object vector.
Definition: SVector3.h:26