Clip2D (FPScript)
Coupe les surfaces à un bord ou le long d'une courbe fermée.
Syntaxe
Clip2D(Surface, CuttingEdge, Mode)
La syntaxe de la fonction Clip2D se compose des éléments suivants :
Section |
Description |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Surface |
La surface à découper, qui peut être une matrice de données/série de signaux ou une courbe 3D. Si vous spécifiez une série de données ou une matrice de données, les composantes X et Z seront générées automatiquement. Les structures de données autorisées sont Matrice de données, Série de signaux et Courbe 3D. Tous les types de données numériques sont autorisés. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||||||||
CuttingEdge |
Précise le bord de coupe à suivre. Les structures de données autorisées sont Scalaire et Signal. Tous les types de données numériques sont autorisés. Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. |
||||||||||||||
Mode |
Spécifie le mode de découpage de l'ensemble de données. L'argument Mode peut avoir les valeurs suivantes :
Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. |
Remarques
Si Surface est de type temps calendaire ou intervalle de temps, cela s'applique également au résultat. Pour tous les autres types de données, le type de données du résultat est une valeur à virgule flottante de 64 bits Surface types de données, le type de données du résultat est une valeur à virgule flottante de 64 bits.
Si l'argument CuttingEdge est spécifié comme une valeur scalaire, toutes les valeurs Y sont définies comme invalides (void), dont les valeurs X sont supérieures à ( CLIP2D_XMAX), inférieures à (CLIP2D_XMIN), ou dont les valeurs Z sont supérieures à (CLIP2D_ZMAX) ou inférieures à (CLIP2D_ZMIN) la limite spécifiée.
Si l'argument CuttingEdge est spécifié comme un signal, la composante Y correspond à la dimension de la surface à découper et la composante X correspond à l'autre dimension. L'interpolation sera utilisée, si nécessaire. Pour Mode égal à CLIP2D_XMAX ou CLIP2D_XMIN Par exemple, la composante Y du signal correspond à la composante X de la surface, et la composante X du signal correspond à la composante Y de la surface.
Pour les modes CLIP2D_CURVEOUTSIDE et CLIP2D_CURVEINSIDE , l'argument CuttingEdge doit être spécifié comme un signal. Les valeurs Y et X du signal doivent alors former une courbe fermée le long de laquelle il faut couper. Les valeurs Y du signal sont ainsi attribuées à la composante Z de la surface, et les valeurs X sont attribuées à leur composante X. La courbe spécifiée par le signal est fermée automatiquement, ce qui signifie que le premier point du signal ne doit pas nécessairement correspondre au dernier point.
Constante |
Méthode |
---|---|
CLIP2D_XMAX |
Toutes les valeurs Y dont la valeur X attribuée est supérieure à l'arête de coupe spécifiée sont définies comme invalides (void). |
CLIP2D_XMIN |
Toutes les valeurs Y dont la valeur X attribuée est inférieure à l'arête de coupe spécifiée sont définies comme invalides (void). |
CLIP2D_ZMAX |
Toutes les valeurs Y dont la valeur Z attribuée est supérieure à l'arête de coupe spécifiée sont définies comme invalides (void). |
CLIP2D_ZMIN |
Toutes les valeurs Y dont la valeur Z attribuée est inférieure à l'arête de coupe spécifiée sont définies comme invalides (void). |
CLIP2D_CURVEOUTSIDE |
Toutes les valeurs Y dont les coordonnées X, Z attribuées sont en dehors de la courbe fermée passée comme argument CuttingEdge sont définies comme invalides (void). |
CLIP2D_CURVEINSIDE |
Toutes les valeurs Y dont les coordonnées X, Z attribuées se trouvent à l'intérieur de la courbe fermée passée comme argument CuttingEdge sont définies comme invalides (void). |
Pour les types de données complexes, un nombre est formé.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
Dim d = Data
d = Clip2D(d, 2000, CLIP2D_XMIN)
d = Clip2D(d, 10000, CLIP2D_XMAX)
d = Clip2D(d, 50, CLIP2D_ZMIN)
d = Clip2D(d, Signal({200,50},{2000,10000}), CLIP2D_ZMAX)
Dans l'exemple suivant, une surface est coupée dans la direction X ainsi que dans la direction Z.
Clip2D(Data, Signal({100,200,250,200,100,50},{2000,2000,6000,10000,10000,6000}), CLIP2D_CURVEINSIDE)
Clip2D(Data, Signal({100,200,250,200,100,50},{2000,2000,6000,10000,10000,6000}), CLIP2D_CURVEOUTSIDE)
L'exemple suivant montre comment un contour avec une courbe fermée est coupé.