diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 52a161f1e1e..298401b98fe 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -17,15 +17,14 @@ Please Note: Check these if you believe they are true -- [ ] The codebase is in a better state after this PR - [ ] Is documented according to the [standards](https://github.com/DynamoDS/Dynamo/wiki/Coding-Standards) - [ ] The level of testing this PR includes is appropriate - [ ] User facing strings, if any, are extracted into `*.resx` files -- [ ] All tests pass using the self-service CI. - [ ] Snapshot of UI changes, if any. - [ ] Changes to the API follow [Semantic Versioning](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-Versions) and are documented in the [API Changes](https://github.com/DynamoDS/Dynamo/wiki/API-Changes) document. - [ ] This PR modifies some build requirements and the readme is updated - [ ] This PR contains no files larger than 50 MB +- [ ] This PR introduces new feature code involve network connecting and is tested with no-network mode. ### Release Notes diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000000..43662bd6545 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +If a user commits a new method that is marked [IsVisibleInDynamoLibrary(true)], this indicates the addition of a new node. Another way a user might indicate that they have added a new node is in the commit message. When a new node is added as part of a commit, verify if the appropriate documentation is included. This documentation includes at least 3 files that have the method name in them, but might have additional words. These files are a .dyn, .md, and .jpg. If these files are not part of the commit, alert the user that changes are required and they need to produce this documentation. diff --git a/.github/workflows/auto_cherrypick.yml b/.github/workflows/auto_cherrypick.yml index a41d3b12dee..8cfedfb8882 100644 --- a/.github/workflows/auto_cherrypick.yml +++ b/.github/workflows/auto_cherrypick.yml @@ -59,9 +59,10 @@ jobs: else BRANCH_NAME="RC${MILESTONE}_master" fi - echo "Branch name: $BRANCH_NAME" + echo "Branch Name: $BRANCH_NAME" echo "BRANCH_NAME=$BRANCH_NAME" >> "$GITHUB_OUTPUT" - BRANCH_URL="https://api.github.com/repos/${{ github.repository }}/branches/RC${{ steps.check_constants.outputs.milestone }}.0_master" + BRANCH_URL="https://api.github.com/repos/${{ github.repository }}/branches/$BRANCH_NAME" + echo "Branch URL: $BRANCH_URL" branch_response=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" $BRANCH_URL) echo $branch_response if [ $branch_response -eq 200 ]; then diff --git a/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 9868d6f97b8..a2b1bdaf142 100644 --- a/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Podrobnosti -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +Uzel ByPointsIndexGroups vrátí síť podle vstupních vrcholů jako body a vstupní indexy. V následujícím příkladu je vytvořena čtyřstranná síť pomocí čtyř bodů a objektu IndexGroup se čtyřmi indexy. ___ ## Vzorový soubor diff --git a/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index aeac8f782fc..bccece67a0b 100644 --- a/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/cs-CZ/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## Podrobnosti -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +Uzel 'Mesh.ByPointsIndices' přijímá seznam bodů, které představují vrcholy trojúhelníků sítě, a seznam indexů, které představují způsob, jakým je síť sešita, a vytvoří novou síť. Vstup 'points' by měl být plochý seznam jedinečných vrcholů v síti. Vstup 'indices' by měl být plochý seznam celých čísel. Každá sada tří celých čísel označuje trojúhelník v síti. Celá čísla určují index vrcholu v seznamu vrcholů. Vstup indexů by měl být indexovaný 0, přičemž první bod seznamu vrcholů by měl mít index 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +V níže uvedeném příkladu je pomocí uzlu 'Mesh.ByPointsIndices' vytvořena síť pomocí seznamu devíti „bodů“ a seznamu 36 „indexů“, které určují kombinaci vrcholů pro každý z 12 trojúhelníků sítě. ## Vzorový soubor diff --git a/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 40d4616405e..1e3944a2f8d 100644 --- a/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Im Detail -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups gibt ein Netz basierend auf Eingabescheitelpunkten als Punkte und Eingabeindizes zurück. Im folgenden Beispiel wird ein vierseitiges Netz mit vier Punkten und einem IndexGroup-Objekt mit vier Indizes erstellt. ___ ## Beispieldatei diff --git a/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 6a5a11a2557..c8cd87aa1aa 100644 --- a/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/de-DE/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## Im Detail -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` erstellt anhand einer Liste mit `Points`, die die `vertices` der Netzdreiecke repräsentieren, und einer Liste mit `indices`, die darstellen, wie das Netz zusammengefügt wird, ein neues Netz. Die Eingabe `points` muss eine einfache Liste eindeutiger Scheitelpunkte im Netz sein. Die Eingabe `indices` muss eine einfache Liste mit Ganzzahlen sein. Jeder Satz mit drei Ganzzahlen bezeichnet ein Dreieck im Netz. Die Ganzzahlen geben den Index des Scheitelpunkts in der Scheitelpunktliste an. Die Eingabe indices muss 0-indiziert sein, wobei der erste Punkt der Scheitelpunktliste den Index 0 aufweisen muss. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +Im folgenden Beispiel wird ein `Mesh.ByPointsIndices`-Block verwendet, um ein Netz anhand einer Liste mit neun `points` und einer Liste mit 36 `indices` zu erstellen, wobei die Scheitelpunktkombination für jedes der 12 Dreiecke des Netzes angegeben wird. ## Beispieldatei diff --git a/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index b58d7c8572e..617724f383a 100644 --- a/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ -## En detalle: -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +## En detalle +ByPointsIndexGroups devolverá una malla basada en los vértices de entrada como puntos e índices de entrada. En el ejemplo siguiente, se crea una malla de cuatro lados con cuatro puntos y un IndexGroup de cuatro índices. ___ ## Archivo de ejemplo diff --git a/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 973afbd60bb..72925b79614 100644 --- a/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/es-ES/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## En detalle -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` utiliza una lista de puntos, que representan los vértices de los triángulos de la malla, y una lista de índices, que representan cómo se une la malla, y crea una nueva malla. La entrada `points` debe ser una lista plana de vértices únicos en la malla. La entrada `indices` debe ser una lista plana de enteros. Cada conjunto de tres enteros designa un triángulo en la malla. Los enteros especifican el índice del vértice en la lista de vértices. La entrada `indices` debe estar indexada a 0, con el primer punto de la lista de vértices con el índice 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +En el ejemplo siguiente, se utiliza un nodo `Mesh.ByPointsIndices` para crear una malla mediante una lista de nueve puntos y una lista de 36 índices, que especifican la combinación de vértices para cada uno de los 12 triángulos de la malla. ## Archivo de ejemplo diff --git a/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index f0d0554d122..a9cac313484 100644 --- a/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Description approfondie -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups renvoie un maillage basé sur des sommets entrés sous forme de points et des index entrés. Dans l'exemple ci-dessous, un maillage à quatre côtés est créé avec quatre points et un IndexGroup de quatre index. ___ ## Exemple de fichier diff --git a/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 85943d5e4a9..f09e601074a 100644 --- a/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/fr-FR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## Profondeur -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +'Mesh.ByPointsIndices' prend une liste de 'Points', représentant les 'sommets' des triangles de maillage et une liste contenant des 'index', représentant la façon dont le maillage est assemblé, et crée un nouveau maillage. L'entrée 'points' doit être une liste simple de sommets uniques dans le maillage. L'entrée 'index' doit être une liste simple d'entiers. Chaque ensemble de trois entiers désigne un triangle dans le maillage. Les entiers spécifient l'index du sommet dans la liste des sommets. L'entrée d'index doit être indexée à 0, le premier point de la liste des sommets ayant l'index 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +Dans l'exemple ci-dessous, un noeud 'Mesh.ByPointsIndices' est utilisé pour créer un maillage à l'aide d'une liste de neuf 'points' et d'une liste de 36 'index', en spécifiant la combinaison de sommets pour chacun des 12 triangles du maillage. ## Exemple de fichier diff --git a/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index af7be24603f..511c4a1b470 100644 --- a/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## In profondità -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups restituirà una mesh in base ai vertici di input come punti e indici di input. Nell'esempio seguente, viene creata una mesh a quattro lati con quattro punti e un IndexGroup di quattro indici. ___ ## File di esempio diff --git a/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index ee883fb5bd8..a2e4706d177 100644 --- a/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/it-IT/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## In profondità -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` utilizza un elenco di `Points`, che rappresentano i `vertices` dei triangoli della mesh, e un elenco di `indices`, che rappresentano il modo in cui la mesh viene unita insieme, e crea una nuova mesh. L'input `points` deve essere un elenco semplice di vertici univoci nella mesh. L'input `indices` deve essere un elenco semplice di numeri interi. Ogni gruppo di tre numeri interi indica un triangolo nella mesh. I numeri interi specificano l'indice del vertice nell'elenco dei vertici. L'input indices deve essere indicizzato in base 0, dove il primo punto dell'elenco dei vertici ha l'indice 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +Nell'esempio seguente, viene utilizzato un nodo `Mesh.ByPointsIndices` per creare una mesh utilizzando un elenco di nove `points` e un elenco di 36 `indices`, specificando la combinazione di vertici per ciascuno dei 12 triangoli della mesh. ## File di esempio diff --git a/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 605eac17a65..bb2b22997f0 100644 --- a/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## 詳細 -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups は、Point として入力された頂点と、入力されたインデックスに基づいて Mesh を返します。次の例では、4 つの Point と、4 つのインデックスの IndexGroup で、4 辺の Mesh が作成されています。 ___ ## サンプル ファイル diff --git a/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 80e7be79d86..16c83af3859 100644 --- a/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/ja-JP/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## 詳細 -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` は、三角形のメッシュにおける `vertices` を表す `Points` のリストと、メッシュのステッチ方法を表す `indices` のリストを受け取り、新しいメッシュを作成します。`points` 入力は、メッシュ内における一意の頂点のフラット リストである必要があります。`indices` 入力は整数のフラット リストである必要があります。3 つの整数の各セットは、メッシュ内の三角形を表します。その整数は、vertices リスト内の頂点のインデックスを指定します。indices 入力はゼロから始まり、vertices リストにおける最初の点のインデックスはゼロである必要があります。 -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +次の例では、`Mesh.ByPointsIndices` ノードを使用して、9 個の `points` リストと 36 個の `indices` のリストを使用してメッシュを作成しています。この `indices` リストは、メッシュの 12 個の各三角形における頂点の組み合わせを指定します。 ## サンプル ファイル diff --git a/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 855529e8ce6..99af65bef8a 100644 --- a/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## 상세 -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups는 입력된 정점과 색인을 기반으로 메쉬를 반환합니다. 아래 예제에서는 4개의 점과 4개의 색인으로 구성된 IndexGroup을 사용하여 네 면으로 이루어진 메쉬를 작성합니다. ___ ## 예제 파일 diff --git a/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index a6ab93e71a2..bb807dc6259 100644 --- a/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/ko-KR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## 상세 -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +'Mesh.ByPointsIndices'는 메쉬 삼각형의 `정점`을 나타내는 `점` 리스트와 메쉬가 함께 스티치되는 방식을 나타내는 `색인` 리스트를 사용하여 새 메쉬를 작성합니다. `점` 입력은 메쉬를 구성하는 고유한 정점의 단순 리스트여야 합니다. `색인` 입력은 정수로 이루어진 단순 리스트여야 합니다. 3개의 정수 집합은 각각 메쉬에서 삼각형을 지정합니다. 정수는 정점 리스트에서 정점의 색인을 지정합니다. 색인은 0부터 시작해야 하며 정점 리스트의 첫 번째 점은 색인이 0이어야 합니다. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +아래 예제에서는 `Mesh.ByPointsIndices` 노드를 사용하여 메쉬를 작성합니다. 이때 9개의 `점` 리스트와 36개의 `색인` 리스트를 사용하며, 이 색인 리스트는 메쉬를 구성하는 12개의 삼각형 각각에 대한 정점 조합을 지정합니다. ## 예제 파일 diff --git a/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 0413e3f1ed1..69d9c2f1872 100644 --- a/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Informacje szczegółowe -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +Węzeł ByPointsIndexGroups zwraca siatkę (Mesh) na podstawie wierzchołków wejściowych podanych jako punkty i indeksy wejściowe. W poniższym przykładzie tworzona jest siatka czterostronna za pomocą czterech punktów (Points) i czterech indeksów podanych jako IndexGroup. ___ ## Plik przykładowy diff --git a/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index f9fe86c572c..31390f1ab50 100644 --- a/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/pl-PL/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## Informacje szczegółowe -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +Węzeł `Mesh.ByPointsIndices` pobiera listę punktów (`Points`) reprezentujących wierzchołki `vertices` trójkątów siatki oraz listę indeksów `indices` reprezentującą sposób zszywania siatki i tworzy nową siatkę. Pozycja danych wejściowych `points` powinna być płaską listą unikatowych wierzchołków w siatce. Pozycja danych wejściowych `indices` powinna być płaską listą liczb całkowitych. Każdy zestaw trzech liczb całkowitych wyznacza trójkąt w siatce. Liczby całkowite określają indeks wierzchołka na liście wierzchołków. Dane wejściowe indeksów powinny być indeksowane od 0 i pierwszy punkt listy wierzchołków powinien mieć indeks 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +W poniższym przykładzie węzeł `Mesh.ByPointsIndices` tworzy siatkę przy użyciu listy dziewięciu punktów, `points`, i listy 36 indeksów, `indices`, określających kombinację wierzchołków dla każdego z 12 trójkątów siatki. ## Plik przykładowy diff --git a/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 6e3fb0d743f..408bd97a875 100644 --- a/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Em profundidade -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups retornará uma malha com base em vértices de entrada como pontos e índices de entrada. No exemplo abaixo, é criada uma malha de quatro lados com quatro pontos e um IndexGroup de quatro índices. ___ ## Arquivo de exemplo diff --git a/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 67fb3363a3c..9d0f6b6aa64 100644 --- a/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/pt-BR/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ -## Aprofundado -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +## Em profundidade +`Mesh.ByPointsIndices` usa uma lista de “pontos”, representando os “vértices” dos triângulos de malha, e uma lista de “índices”, representando como a malha é unida, e cria uma nova malha. A entrada `points` deve ser uma lista plana de vértices exclusivos na malha. A entrada `indices` deve ser uma lista plana de números inteiros. Cada conjunto de três números inteiros designa um triângulo na malha. Os números inteiros especificam o índice do vértice na lista de vértices. A entrada de índices deve ser indexada em 0, com o primeiro ponto da lista de vértices tendo o índice 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +No exemplo abaixo, um nó `Mesh.ByPointsIndices` é usado para criar uma malha usando uma lista de nove“pontos” e uma lista de 36 “índices”, especificando a combinação de vértices para cada um dos 12 triângulos da malha. ## Arquivo de exemplo diff --git a/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index bae574caab2..e9ff10d1acd 100644 --- a/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## Подробности -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups возвращает сеть на основе входных вершин в виде точек и входных индексов. В приведенном ниже примере создается четырехсторонняя сеть с четырьмя точками и объектом IndexGroup из четырех индексов. ___ ## Файл примера diff --git a/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index def8c6678f5..783d3c496f1 100644 --- a/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/ru-RU/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## Подробности -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` принимает список значений `Points`, которые представляют вершины (`vertices`) треугольников сети, и список `indices`, представляющий способ сшивания сети, и создает сеть. Входной параметр `points` должен содержать неструктурированный список уникальных вершин в сети. Входной параметр `indices` должен содержать неструктурированный список целых чисел. Каждое множество из трех целых чисел определяет треугольник в сети. Целые числа обозначают индекс вершины в списке вершин. Входной параметр indices должен начинаться индексом 0, т. е. первая точка в списке вершин должна иметь индекс 0. -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +В приведенном ниже примере с помощью узла `Mesh.ByPointsIndices` создается сеть на основе списка из девяти точек (`points`) и списка из 36 индексов (`indices`), представляющих собой комбинацию вершин для каждого из 12 треугольников сети. ## Файл примера diff --git a/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 951cdc4759e..f08618d84df 100644 --- a/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## 详细 -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +“ByPointsIndexGroups”将基于输入顶点作为点和输入索引返回一个网格。在下面的示例中,将使用四个点和一个包含四个索引的 IndexGroup 创建一个四边网格。 ___ ## 示例文件 diff --git a/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index 507b368e641..b7b12898175 100644 --- a/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/zh-CN/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## 详细 -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +“Mesh.ByPointsIndices”获取一列“点”(表示网格三角形的“顶点”)和一列“索引”(表示如何缝合网格,然后创建新网格)。“点” 输入应该是网格中唯一顶点的平面列表。“索引”输入应是一个整数的平面列表。每组三个整数用于指定网格中的一个三角形。整数指定顶点列表中顶点的索引。索引输入的索引应为 0,顶点列表的第一个点的索引为 0。 -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +在下面的示例中,“Mesh.ByPointsIndices”节点用于使用一列 9 个“点”和 36 个“索引”列表创建一个网格,并为网格的 12 个三角形中的每个三角形指定顶点组合。 ## 示例文件 diff --git a/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md b/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md index 3162346da55..2be4ef0bb33 100644 --- a/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md +++ b/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndexGroups.md @@ -1,5 +1,5 @@ ## 深入資訊 -ByPointsIndexGroups will return a Mesh based on input vertices as Points and input indices. In the example below, a four-sided Mesh is created with four Points and an IndexGroup of four indices. +ByPointsIndexGroups 會根據以點輸入的頂點和輸入索引傳回網格。在以下範例中,使用四個點和包含四個索引的 IndexGroup 建立一個四邊網格。 ___ ## 範例檔案 diff --git a/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md b/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md index a9062b2551a..17980f2ee5c 100644 --- a/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md +++ b/doc/distrib/NodeHelpFiles/zh-TW/Autodesk.DesignScript.Geometry.Mesh.ByPointsIndices.md @@ -1,7 +1,7 @@ ## 深入資訊 -`Mesh.ByPointsIndices` takes a list of `Points`, representing the `vertices` of the mesh triangles, and a list of `indices`, representing how the mesh is stitched together, and creates a new mesh. The `points` input should be a flat list of unique vertices in the mesh. The `indices` input should be a flat list of integers. Each set of three integers designates a triangle in the mesh. The integers specify the index of the vertex in the vertices list. The indices input should be 0-indexed, with the first point of the vertices list having the index 0. +`Mesh.ByPointsIndices` 接受一個表示網格三角形 `vertices` 的 `Points` 清單,和一個表示網格如何縫合在一起的 `indices` 清單,建立一個新網格。`points` 輸入必須是網格中唯一頂點的展開清單。`indices` 輸入必須是一個整數的展開清單。三個整數一組指定網格中的一個三角形。整數指定頂點在頂點清單中的索引。indices 輸入應從 0 開始編製索引,頂點清單第一點的索引為 0。 -In the example below, a `Mesh.ByPointsIndices` node is used to create a mesh using a list of nine `points` and a list of 36 `indices`, specifying the vertex combination for each of the 12 triangles of the mesh. +以下範例使用 `Mesh.ByPointsIndices` 節點,透過一個 9 個 `points` 的清單和一個 36 個 `indices` 的清單建立網格,為網格的每 12 個三角形指定頂點組合。 ## 範例檔案 diff --git a/doc/distrib/xml/cs-CZ/DSCoreNodes.xml b/doc/distrib/xml/cs-CZ/DSCoreNodes.xml index d720aef6f10..4f5fb5e780f 100644 --- a/doc/distrib/xml/cs-CZ/DSCoreNodes.xml +++ b/doc/distrib/xml/cs-CZ/DSCoreNodes.xml @@ -1607,16 +1607,16 @@ Jako výchozí je nastaven standardní formát „F“: „Úterý, 21. února 2 Vyhledá lokalizovaný řetězec podobný řetězci „Zadaná data barev jsou příliš velká, aby se vešla do hranic obrázku.“. - Looks up a localized string similar to • Min and Max values must be different.. + Vyhledá lokalizovaný řetězec podobný řetězci • Minimální a maximální hodnoty se musí lišit. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Vyhledá lokalizovaný řetězec podobný řetězci • Hodnoty musí být seznam čísel nebo jedno číslo ≥ 2. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Vyhledá lokalizovaný řetězec podobný řetězci • Řídicí body pro vybranou křivku nejsou platné. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Vyhledá lokalizovaný řetězec podobný řetězci • Vstupy X a Y musí být jednotlivá čísla (ne seznamy). Vyhledá lokalizovaný řetězec podobný řetězci „Vstup musí být jedna hodnota nebo seznam bez vnoření.“ diff --git a/doc/distrib/xml/cs-CZ/ProtoGeometry.xml b/doc/distrib/xml/cs-CZ/ProtoGeometry.xml index c23ef7fb5d5..e79aa8957d6 100644 --- a/doc/distrib/xml/cs-CZ/ProtoGeometry.xml +++ b/doc/distrib/xml/cs-CZ/ProtoGeometry.xml @@ -4813,9 +4813,9 @@ - Vytvořit síť z kolekce bodů a kolekce objektů IndexGroup odkazujících na kolekci bodů + Vytvořit síť z kolekce bodů a kolekce objektů IndexGroup odkazujících na danou kolekci bodů Seznam bodů - Index groups for points + Indexové skupiny pro body Síť mesh,meshes @@ -4848,10 +4848,10 @@ ze tří bodů trojúhelníku - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Vytvořit novou síť ze zadaných bodů a indexů. Body by se neměly + překrývat. Indexy by měly být množinami tří celých čísel. + určujících tři umístění v poli bodů + ze tří bodů trojúhelníku Vytvoří rovinu sítě pomocí aktuálních nastavení. @@ -5606,10 +5606,10 @@ Vyhledá lokalizovaný řetězec podobný řetězci „{0} je menší než nula.“. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Vyhledá lokalizovaný řetězec podobný řetězci „Tato metoda byla vyřazena a bude odebrána v budoucí verzi aplikace Dynamo.“. Místo ní použijte uzel Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]). - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Vyhledá lokalizovaný řetězec podobný řetězci „Tato metoda byla vyřazena a bude odebrána v budoucí verzi aplikace Dynamo.“. Místo ní použijte uzel Mesh.ByPointsIndices (Point[] points, Indices : int[]). Vyhledá lokalizovaný řetězec podobný řetězci Uzly sítě používají 32bitovou přesnost (7 desetinných míst), což může vést k chybám zaokrouhlení u velkých čísel nebo čísel se více než 7 desetinnými místy. Za účelem dosažení vyšší přesnosti (64 bitů, 15 desetinných míst) použijte uzly z knihovny Geometrie. diff --git a/doc/distrib/xml/de-DE/DSCoreNodes.xml b/doc/distrib/xml/de-DE/DSCoreNodes.xml index 7ab82d501b3..ba400bdcf33 100644 --- a/doc/distrib/xml/de-DE/DSCoreNodes.xml +++ b/doc/distrib/xml/de-DE/DSCoreNodes.xml @@ -1605,19 +1605,19 @@ Suchen Sie nach "Benutzerdefinierte Zeichenfolgen für Datum und Uhrzeit bei MSD Ressourcenabrufe, die diese stark typisierte Ressourcenklasse verwenden. - Sucht eine lokalisierte Zeichenfolge ähnlich wie Die bereitgestellten Farbdaten sind zu groß, um in die Bildumgrenzungen zu passen. + Sucht eine lokalisierte Zeichenfolge ähnlich wie 'Die bereitgestellten Farbdaten sind zu groß, um in die Bildumgrenzungen zu passen.'. - Looks up a localized string similar to • Min and Max values must be different.. + Sucht eine lokalisierte Zeichenfolge ähnlich wie '• Mindest- und Maximalwerte müssen unterschiedlich sein.'. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Sucht eine lokalisierte Zeichenfolge ähnlich wie '• Werte müssen eine Liste von Zahlen oder eine einzelne Zahl ≥ 2 sein.'. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Sucht eine lokalisierte Zeichenfolge ähnlich wie '• Steuerpunkte für die ausgewählte Kurve sind nicht gültig.'. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Sucht eine lokalisierte Zeichenfolge ähnlich wie '• X- und Y-Eingaben müssen einzelne Zahlen sein (keine Listen).'. Sucht eine lokalisierte Zeichenfolge ähnlich wie 'Eingabe muss ein einzelner Wert oder eine nicht verschachtelte Liste sein'. diff --git a/doc/distrib/xml/de-DE/ProtoGeometry.xml b/doc/distrib/xml/de-DE/ProtoGeometry.xml index 076774d4ddb..311808cb48a 100644 --- a/doc/distrib/xml/de-DE/ProtoGeometry.xml +++ b/doc/distrib/xml/de-DE/ProtoGeometry.xml @@ -4810,9 +4810,9 @@ - Erstellt ein Netz aus einer Sammlung von Punkten und einer Sammlung von IndexGroups, die die Punktsammlung referenzieren. - Liste der Punkte - Index groups for points + Netz aus einer Sammlung von Punkten und einer Sammlung von IndexGroups-Objekten erstellen, die die Punktsammlung referenzieren + Punktliste + Indexgruppen für Punkte Netz mesh,meshes @@ -4845,10 +4845,10 @@ der drei Punkte eines Dreiecks angeben - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Erstellen Sie ein neues Netz aus bereitgestellten Punkten und Indizes. Punkte dürfen sich + nicht überlappen. Indizes müssen Sätze aus drei Ganzzahlen sein, + die die drei Positionen im Punkt-Array + der drei Punkte eines Dreiecks angeben Erstellt eine Netzebene auf Grundlage der aktuellen Einstellungen. @@ -5603,10 +5603,10 @@ Sucht eine lokalisierte Zeichenfolge ähnlich wie '{0} ist kleiner als Null.'. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Sucht eine lokalisierte Zeichenfolge ähnlich wie 'Diese Methode ist veraltet und wird in einer zukünftigen Version von Dynamo entfernt. Verwenden Sie stattdessen Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])'. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Sucht eine lokalisierte Zeichenfolge ähnlich wie 'Diese Methode ist veraltet und wird in einer zukünftigen Version von Dynamo entfernt. Verwenden Sie stattdessen Mesh.ByPointsIndices (Point[] points, Indices : int[])'. Sucht eine lokalisierte Zeichenfolge ähnlich wie 'Netzblöcke verwenden 32-Bit-Genauigkeit (7 Dezimalstellen). Dies kann bei größeren Zahlen oder Zahlen mit mehr als 7 Dezimalstellen zu Rundungsfehlern führen. Verwenden Sie Blöcke aus der Geometriebibliothek, um eine höhere Genauigkeit (64 Bit, 15 Dezimalstellen) zu erzielen.'. diff --git a/doc/distrib/xml/es-ES/DSCoreNodes.xml b/doc/distrib/xml/es-ES/DSCoreNodes.xml index 5464e806012..380ed444f44 100644 --- a/doc/distrib/xml/es-ES/DSCoreNodes.xml +++ b/doc/distrib/xml/es-ES/DSCoreNodes.xml @@ -1608,16 +1608,16 @@ Busque "Cadenas de formato de fecha y hora personalizadas de MSDN" para obtener Busca una cadena localizada similar a Los datos de color proporcionados son demasiado grandes para que quepan en los límites de la imagen. - Looks up a localized string similar to • Min and Max values must be different.. + Busca una cadena localizada similar a • Los valores mínimo y máximo deben ser diferentes. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Busca una cadena localizada similar a • Los valores deben ser una lista de números o un solo número ≥ 2.. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Busca una cadena localizada similar a • Los puntos de control de la curva seleccionada no son válidos. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Busca una cadena localizada similar a • Las entradas X e Y deben ser números únicos (no listas). Busca una cadena localizada similar a La entrada debe ser un único valor o una lista no anidada. diff --git a/doc/distrib/xml/es-ES/ProtoGeometry.xml b/doc/distrib/xml/es-ES/ProtoGeometry.xml index b054b824e60..0455604ad92 100644 --- a/doc/distrib/xml/es-ES/ProtoGeometry.xml +++ b/doc/distrib/xml/es-ES/ProtoGeometry.xml @@ -4819,7 +4819,7 @@ un objeto LibG. Crea una malla a partir de una colección de puntos y una colección de IndexGroups que hacen referencia a la colección de puntos. Lista de puntos - Index groups for points + Grupos de índice para puntos Malla mesh,meshes @@ -4852,10 +4852,10 @@ un objeto LibG. de los tres puntos de un triángulo. - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Crea una nueva malla a partir de los puntos e índices proporcionados. Los puntos no deben + solaparse. Los índices deben ser conjuntos de tres enteros + que indican las tres ubicaciones de la matriz de puntos + de los tres puntos de un triángulo. Crea un plano de malla basado en la configuración actual. @@ -5611,10 +5611,10 @@ Básicamente, la malla está llena de innumerables cuadros diminutos y se crea u Busca una cadena localizada similar a {0} es menor que cero. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Busca una cadena localizada similar a Este método se ha dejado de usar y se eliminará en una versión futura de Dynamo. En su lugar, utilice Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]). - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Busca una cadena localizada similar a Este método se ha dejado de usar y se eliminará en una versión futura de Dynamo. En su lugar, utilice Mesh.ByPointsIndices (Point[] points, Indices : int[]). Busca una cadena localizada similar a Los nodos de malla utilizan una precisión de 32 bits (7 decimales), lo que puede provocar errores de redondeo con números grandes o con números con más de 7 decimales. Para obtener una mayor precisión (64 bits, 15 decimales), utilice nodos de la biblioteca de geometría. diff --git a/doc/distrib/xml/fr-FR/DSCoreNodes.xml b/doc/distrib/xml/fr-FR/DSCoreNodes.xml index df3f813662f..2afaa6d8fa1 100644 --- a/doc/distrib/xml/fr-FR/DSCoreNodes.xml +++ b/doc/distrib/xml/fr-FR/DSCoreNodes.xml @@ -1608,16 +1608,16 @@ Recherchez "Chaînes de format de date et d'heure personnalisées MSDN" pour obt Recherche une chaîne localisée similaire à Les données de couleur fournies sont trop grandes pour tenir dans les limites de l'image. - Looks up a localized string similar to • Min and Max values must be different.. + Recherche une chaîne localisée similaire à • Les valeurs Min et Max doivent être différentes. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Recherche une chaîne localisée similaire à • Les valeurs doivent être indiquées sous forme de liste de nombres ou en un seul nombre ≥ 2. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Recherche une chaîne localisée semblable à • Les points de contrôle de la courbe sélectionnée ne sont pas valides. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Recherche une chaîne localisée similaire à • Les entrées X et Y doivent être des nombres uniques (et non des listes). Recherche une chaîne localisée similaire à "L'entrée doit être une valeur unique ou une liste non imbriquée.". diff --git a/doc/distrib/xml/fr-FR/ProtoGeometry.xml b/doc/distrib/xml/fr-FR/ProtoGeometry.xml index fd46b505e21..19f24e922c4 100644 --- a/doc/distrib/xml/fr-FR/ProtoGeometry.xml +++ b/doc/distrib/xml/fr-FR/ProtoGeometry.xml @@ -4820,7 +4820,7 @@ Créer un maillage à partir d'un ensemble de points et un ensemble d'IndexGroups référençant l'ensemble de points Liste de points - Index groups for points + Groupes d'index pour les points Maillage mesh,meshes @@ -4853,10 +4853,10 @@ des trois points d’un triangle - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Créez un maillage à partir de points et d'index fournis. Les points ne doivent + pas se chevaucher. Les index doivent être des ensembles de trois entiers + indiquant les trois emplacements dans le réseau de points + des trois pointes d'un triangle Créez un plan de maillage basé sur les paramètres actuels. @@ -5611,10 +5611,10 @@ Fondamentalement, le maillage est rempli d’un tas de petites boîtes, et un no Recherche une chaîne localisée similaire à {0} est inférieur à zéro. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Recherche une chaîne localisée similaire à Cette méthode est obsolète et sera supprimée dans une prochaine version de Dynamo. Utilisez Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) à la place. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Recherche une chaîne localisée similaire à Cette méthode est obsolète et sera supprimée dans une prochaine version de Dynamo. Utilisez Mesh.ByPointsIndices (Point[] points, Indices : int[]) à la place. Recherche une chaîne similaire aux noeuds maillés qui utilisent la précision de 32 bits (7 décimales), ce qui peut entraîner des erreurs d'arrondi avec de grands nombres ou des nombres comportant plus de 7 décimales. Pour une précision plus élevée (64 bits, 15 décimales), utilisez des noeuds de la Bibliothèque de géométrie. diff --git a/doc/distrib/xml/it-IT/DSCoreNodes.xml b/doc/distrib/xml/it-IT/DSCoreNodes.xml index 1b956e660c6..7bf7e714cae 100644 --- a/doc/distrib/xml/it-IT/DSCoreNodes.xml +++ b/doc/distrib/xml/it-IT/DSCoreNodes.xml @@ -1595,16 +1595,16 @@ tale elemento nell'elenco. Se l'elemento non viene trovato nell'elenco, restitui Cerca una stringa localizzata simile a I dati del colore forniti sono troppo grandi per essere adattati ai limiti dell'immagine. - Looks up a localized string similar to • Min and Max values must be different.. + Cerca una stringa localizzata simile a • I valori min e max devono essere diversi. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Cerca una stringa localizzata simile a • I valori devono essere un elenco di numeri o un numero singolo ≥ 2. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Cerca una stringa localizzata simile a • I punti di controllo per la curva selezionata non sono validi. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Cerca una stringa localizzata simile a • Gli input X e Y devono essere numeri singoli (non elenchi). Cerca una stringa localizzata simile a L'input deve essere un valore singolo o un elenco non nidificato. diff --git a/doc/distrib/xml/it-IT/ProtoGeometry.xml b/doc/distrib/xml/it-IT/ProtoGeometry.xml index 958315ef17d..8f688684b3a 100644 --- a/doc/distrib/xml/it-IT/ProtoGeometry.xml +++ b/doc/distrib/xml/it-IT/ProtoGeometry.xml @@ -4796,7 +4796,7 @@ Ottiene una rappresentazione stringa della mesh - Crea una mesh da una raccolta di punti e una raccolta di IndexGroup che fanno riferimento alla raccolta di punti + Crea una mesh da una raccolta di punti e una raccolta di IndexGroup che fanno riferimento alla raccolta di punti. Elenco di punti che determinano le posizioni dei vertici Indici per vertici Mesh creata da punti @@ -4805,10 +4805,10 @@ - Crea una mesh da una raccolta di punti e una raccolta di IndexGroup che fanno riferimento alla raccolta di punti + Crea una mesh da una raccolta di punti e una raccolta di IndexGroup che fanno riferimento alla raccolta di punti. Elenco di punti - Index groups for points - Retino + Gruppi di indici per punti + Mesh mesh,meshes @@ -4840,10 +4840,10 @@ dei tre punti di un triangolo. - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Crea una nuova mesh dai punti e dagli indici forniti. I punti non devono + sovrapporsi. Gli indici devono essere gruppi di tre numeri interi + che indicano le tre posizioni nella matrice di punti + dei tre punti di un triangolo. Crea un piano mesh in base alle impostazioni correnti. @@ -5597,10 +5597,10 @@ Cerca una stringa localizzata simile a L'elemento {0} è minore di zero. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Cerca una stringa localizzata simile a Questo metodo è obsoleto e verrà rimosso in una versione futura di Dynamo. Utilizzare Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]). - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Cerca una stringa localizzata simile a Questo metodo è obsoleto e verrà rimosso in una versione futura di Dynamo. Utilizzare Mesh.ByPointsIndices (Point[] points, Indices : int[]). Cerca una stringa localizzata simile a I nodi della mesh utilizzano una precisione di 32 bit (7 cifre decimali), che può portare a errori di arrotondamento con numeri grandi o con più di 7 cifre decimali. Per una precisione maggiore (64 bit, 15 cifre decimali), utilizzare i nodi della libreria della geometria. diff --git a/doc/distrib/xml/ja-JP/DSCoreNodes.xml b/doc/distrib/xml/ja-JP/DSCoreNodes.xml index fcfa9964289..45cb6d603b9 100644 --- a/doc/distrib/xml/ja-JP/DSCoreNodes.xml +++ b/doc/distrib/xml/ja-JP/DSCoreNodes.xml @@ -1605,16 +1605,16 @@ 「指定されたカラー データは大きすぎるため、イメージの境界に収まりません」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to • Min and Max values must be different.. + 「• 最小値と最大値は異なる値である必要があります。」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + 「• 値は数値のリストまたは ≥ 2 の単一の数値である必要があります。」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to • Control points for the selected curve are not valid.. + 「• 選択した曲線の制御点が無効です。」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + 「• X と Y の入力値は(リストではなく)単一の数値である必要があります。」に類似するローカライズされた文字列を検索します。 「入力は単一の値またはネストされていないリストである必要があります」に類似するローカライズされた文字列を検索します。 diff --git a/doc/distrib/xml/ja-JP/ProtoGeometry.xml b/doc/distrib/xml/ja-JP/ProtoGeometry.xml index 1920ced757f..8140df8e6e3 100644 --- a/doc/distrib/xml/ja-JP/ProtoGeometry.xml +++ b/doc/distrib/xml/ja-JP/ProtoGeometry.xml @@ -4815,10 +4815,10 @@ - 点群の集合と、点群の集合を参照する IndexGroup の集合からメッシュを作成します。 - ポイントのリスト - Index groups for points - Mesh + 点群の集合と、点群の集合を参照する IndexGroup の集合からメッシュを作成します + 点群のリスト + 点群のインデックス グループ + メッシュ mesh,meshes @@ -4850,10 +4850,10 @@ 3 つの位置を示します。 - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + 与えられた点とインデックスから新しいメッシュを作成します。点は + 重複しないようにする必要があります。インデックスは + 三角形の 3 点の点群配列の 3 つの位置を示す + 3 つの整数のセットである必要があります 現在の設定に基づいてメッシュ平面を作成します。 @@ -5608,10 +5608,10 @@ 「{0} はゼロ未満です」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + 「このメソッドは廃止され、Dynamo の今後のバージョンで削除される予定です。代わりに Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])を使用してください」に類似するローカライズされた文字列を検索します。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + 「このメソッドは廃止され、Dynamo の今後のバージョンで削除される予定です。代わりに Mesh.ByPointsIndices (Point[] points, Indices : int[])を使用してください」に類似するローカライズされた文字列を検索します。 「メッシュ ノードは 32 ビット精度(小数点以下 7 桁)を使用するため、大きな数値や小数点以下 7 桁を超える数値では、丸めエラーが発生する可能性があります。より高い精度(64 ビット、小数点以下 15 桁)を必要とする場合は、Geometry ライブラリのノードを使用してください。」に類似するローカライズされた文字列を検索します。 diff --git a/doc/distrib/xml/ko-KR/DSCoreNodes.xml b/doc/distrib/xml/ko-KR/DSCoreNodes.xml index 0f096fada48..d0e4f351b6e 100644 --- a/doc/distrib/xml/ko-KR/DSCoreNodes.xml +++ b/doc/distrib/xml/ko-KR/DSCoreNodes.xml @@ -1596,16 +1596,16 @@ "제공된 색상 데이터가 너무 커서 이미지 경계에 맞지 않습니다."와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to • Min and Max values must be different.. + '• 최소값과 최대값은 달라야 합니다.'와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + '• 값은 숫자 리스트이거나 2 이상의 단일 숫자여야 합니다.'와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + '• 선택한 곡선의 제어점이 유효하지 않습니다.'와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + '• X 및 Y 입력은 리스트가 아닌 단일 숫자여야 합니다.'와 유사한 현지화된 문자열을 조회합니다. "입력은 단일 값 또는 내포되지 않은 리스트여야 합니다."와 유사한 현지화된 문자열을 조회합니다. diff --git a/doc/distrib/xml/ko-KR/ProtoGeometry.xml b/doc/distrib/xml/ko-KR/ProtoGeometry.xml index c2f9edfed5a..1b3b387f820 100644 --- a/doc/distrib/xml/ko-KR/ProtoGeometry.xml +++ b/doc/distrib/xml/ko-KR/ProtoGeometry.xml @@ -4812,9 +4812,9 @@ - 점 모음 및 점 모음을 참조하는 IndexGroup 모음에서 메쉬를 만듭니다 + 점 모음 및 점 모음을 참조하는 IndexGroup 모음을 기반으로 메쉬를 작성합니다. 점 리스트 - Index groups for points + 점에 대한 색인 그룹 메쉬 mesh,meshes @@ -4847,10 +4847,10 @@ 세 개의 위치를 나타냅니다. - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + 제공된 점 및 색인을 기반으로 새 메쉬를 작성합니다. 점은 + 겹치지 않아야 합니다. 색인은 삼각형을 구성하는 세 점의 + 점 배열에서 3개의 위치를 나타내는 + 3개의 정수로 이루어진 집합이어야 합니다. 현재 설정을 기반으로 메쉬 평면을 작성합니다. @@ -5605,10 +5605,10 @@ '{0}이(가) 0보다 작습니다.'와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + '이 메서드는 더 이상 사용되지 않으며 이후 버전의 Dynamo에서 제거될 예정입니다. 대신 Mesh.ByPointsIndexGroups(Point[] points, IndexGroups : IndexGroup[])를 사용하십시오.'와 유사한 현지화된 문자열을 조회합니다. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + '이 메서드는 더 이상 사용되지 않으며 이후 버전의 Dynamo에서 제거될 예정입니다. 대신 Mesh.ByPointsIndices(Point[] points, Indices : int[])를 사용하십시오.'와 유사한 현지화된 문자열을 조회합니다. '메시 노드는 32비트 정밀도(소수점 이하 7자리)를 사용하므로 숫자가 크거나 소수점 이하 7자리를 초과하는 숫자에서는 반올림 오류가 발생할 수 있습니다. 더 높은 정밀도(64비트, 소수점 이하 15자리)를 사용하려면 형상 라이브러리의 노드를 사용하십시오.'와 유사한 현지화된 문자열을 조회합니다. diff --git a/doc/distrib/xml/pl-PL/DSCoreNodes.xml b/doc/distrib/xml/pl-PL/DSCoreNodes.xml index 0318b5d9b27..442acc96af8 100644 --- a/doc/distrib/xml/pl-PL/DSCoreNodes.xml +++ b/doc/distrib/xml/pl-PL/DSCoreNodes.xml @@ -1604,16 +1604,16 @@ Obszerna lista opcji dostosowania formatu jest dostępna po wyszukaniu ciągu "N Wyszukuje zlokalizowany ciąg podobny do: Podane dane kolorów są zbyt duże, aby zmieściły się w granicach obrazu. - Looks up a localized string similar to • Min and Max values must be different.. + Wyszukuje zlokalizowany ciąg podobny do: • Wartości minimalne i maksymalne muszą się różnić. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Wyszukuje zlokalizowany ciąg podobny do: • Wartości muszą być listą liczb lub pojedynczą liczbą ≥ 2. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Wyszukuje zlokalizowany ciąg podobny do: • Punkty sterowania dla wybranej krzywej nie są prawidłowe. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Wyszukuje zlokalizowany ciąg podobny do: • Dane wejściowe X i Y muszą być pojedynczymi liczbami (nie listami). Wyszukuje zlokalizowany ciąg podobny do: Dane wejściowe muszą być pojedynczą wartością lub listą niezagnieżdżoną. diff --git a/doc/distrib/xml/pl-PL/ProtoGeometry.xml b/doc/distrib/xml/pl-PL/ProtoGeometry.xml index 6c148d724ab..d3f7cc173c3 100644 --- a/doc/distrib/xml/pl-PL/ProtoGeometry.xml +++ b/doc/distrib/xml/pl-PL/ProtoGeometry.xml @@ -4818,9 +4818,9 @@ - Utwórz siatkę z kolekcji punktów oraz kolekcji IndexGroups odwołujących się do kolekcji punktów + Utwórz siatkę z kolekcji punktów oraz kolekcji elementów IndexGroup odwołujących się do kolekcji punktów Lista punktów - Index groups for points + Grupy indeksów dla punktów Siatka mesh,meshes @@ -4853,10 +4853,10 @@ trzech punktów trójkąta - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Utwórz nową siatkę z podanych punktów i indeksów. Punkty nie powinny + się nakładać. Indeksy powinny być zestawami trzech liczb całkowitych + wskazujących trzy lokalizacje w szyku punktów + trzech punktów trójkąta Utwórz płaszczyznę siatki na podstawie bieżących ustawień. @@ -5610,10 +5610,10 @@ Wyszukuje zlokalizowany ciąg podobny do Wartość {0} jest mniejsza niż zero. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Wyszukuje zlokalizowany ciąg podobny do: Ta metoda została wycofana i zostanie usunięta w przyszłej wersji dodatku Dynamo. Zamiast tego użyj metody Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]). - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Wyszukuje zlokalizowany ciąg podobny do: Ta metoda została wycofana i zostanie usunięta w przyszłej wersji dodatku Dynamo. Zamiast tego użyj metody Mesh.ByPointsIndices (Point[] points, Indices : int[]). Wyszukuje zlokalizowany ciąg podobny do: Węzły Mesh korzystają z dokładności 32-bitowej (7 miejsc po przecinku), co może prowadzić do błędów zaokrągleń w przypadku dużych liczb lub liczb z więcej niż 7 miejscami po przecinku. Aby uzyskać większą dokładność (64-bitową, 15 miejsc po przecinku), użyj węzłów z biblioteki Geometry. diff --git a/doc/distrib/xml/pt-BR/DSCoreNodes.xml b/doc/distrib/xml/pt-BR/DSCoreNodes.xml index 9a7552abd75..d1ac953979d 100644 --- a/doc/distrib/xml/pt-BR/DSCoreNodes.xml +++ b/doc/distrib/xml/pt-BR/DSCoreNodes.xml @@ -1596,16 +1596,16 @@ Pesquise "Cadeias de caracteres de formato de data e hora personalizado" no MSDN Procura uma sequência de caracteres localizada, que seja semelhante a “Os dados de cor fornecidos são muito grandes para caber nos limites da imagem”. - Looks up a localized string similar to • Min and Max values must be different.. + Procura uma sequência de caracteres localizada semelhante a • “Os valores mínimo e máximo devem ser diferentes”. - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Procura uma sequência de caracteres localizada semelhante a •“ Os valores devem ser uma lista de números ou um número único ≥ 2”. - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Procura uma sequência de caracteres localizada semelhante a • “Os pontos de controle da curva selecionada não são válidos”. - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Procura uma sequência de caracteres localizada semelhante a • “As entradas X e Y devem ser números únicos (não listas)”. Procura uma sequência de caracteres localizada similar a “A entrada deve ser um valor único ou uma lista não aninhada”. diff --git a/doc/distrib/xml/pt-BR/ProtoGeometry.xml b/doc/distrib/xml/pt-BR/ProtoGeometry.xml index 0bdfd37e568..46d19bba84d 100644 --- a/doc/distrib/xml/pt-BR/ProtoGeometry.xml +++ b/doc/distrib/xml/pt-BR/ProtoGeometry.xml @@ -4793,9 +4793,9 @@ - Cria uma malha a partir de uma coleção de pontos e uma coleção de grupos de indexação referenciando a coleção de pontos + Crie uma malha com base em uma coleção de pontos e uma coleção de IndexGroups referenciando a coleção de pontos Lista de pontos - Index groups for points + Indexar grupos de pontos Malha mesh,meshes @@ -4828,10 +4828,10 @@ dos três pontos de um triângulo - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Crie uma nova malha com base em pontos e índices fornecidos. Os pontos não devem + se sobrepor. Os índices devem ser conjuntos de três números inteiros + indicando as três localizações na matriz de pontos + dos três pontos de um triângulo Criar um plano de malha com base nas configurações atuais. @@ -5586,10 +5586,10 @@ Basicamente, a malha é preenchida com várias pequenas caixas, e uma nova A pesquisa de sequência de caracteres localizada similar a {0} é menor que zero. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Procura uma sequência de caracteres localizada semelhante a "Esse método está obsoleto e será removido em uma versão futura do Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])”. - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Procura uma sequência de caracteres localizada semelhante a "Esse método está obsoleto e será removido em uma versão futura do Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[])”. Procura uma sequência de caracteres localizada similar a “Os nós de malha usam precisão de 32 bits (7 casas decimais), o que pode levar a erros de arredondamento com números grandes ou números com mais de 7 casas decimais. Para maior precisão (64 bits, 15 casas decimais), use nós da biblioteca Geometria”. diff --git a/doc/distrib/xml/ru-RU/DSCoreNodes.xml b/doc/distrib/xml/ru-RU/DSCoreNodes.xml index fd66fbef7ff..da969e1b655 100644 --- a/doc/distrib/xml/ru-RU/DSCoreNodes.xml +++ b/doc/distrib/xml/ru-RU/DSCoreNodes.xml @@ -1604,16 +1604,16 @@ Поиск локализованной строки, подобной строке «Предоставленные данные цвета слишком велики для вписывания в границы изображения». - Looks up a localized string similar to • Min and Max values must be different.. + Поиск локализованной строки, подобной строке «• Минимальное и максимальное значения должны отличаться». - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + Поиск локализованной строки, подобной строке «• Значения должны быть списком чисел или одиночным числом ≥ 2». - Looks up a localized string similar to • Control points for the selected curve are not valid.. + Поиск локализованной строки, подобной строке «• Недопустимые управляющие точки для выбранной кривой». - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + Поиск локализованной строки, подобной строке «• Входные данные X и Y должны быть одиночными числами (не списками)». Поиск локализованной строки, подобной строке «Входное значение должно быть одним значением или не являться вложенным списком». diff --git a/doc/distrib/xml/ru-RU/ProtoGeometry.xml b/doc/distrib/xml/ru-RU/ProtoGeometry.xml index 0a7b2359fc8..5323a28458e 100644 --- a/doc/distrib/xml/ru-RU/ProtoGeometry.xml +++ b/doc/distrib/xml/ru-RU/ProtoGeometry.xml @@ -4819,9 +4819,9 @@ - Создание сетки на основе набора точек и набора элементов IndexGroups, ссылающихся на набор точек + Создание сети на основе коллекции точек и коллекции элементов IndexGroups, ссылающихся на коллекцию точек Список точек - Index groups for points + Группы индексов для точек Сеть mesh,meshes @@ -4854,10 +4854,10 @@ трех точек треугольника - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + Создание сети на основе заданных точек и индексов. Точки не должны + перекрываться. Индексы должны представлять собой множества из трех целых чисел, + указывающие на три расположения в массиве точек + из трех точек треугольника Создание плоскости сети на основе текущих параметров. @@ -5613,10 +5613,10 @@ Поиск локализованной строки, подобной строке «значение {0} меньше нуля». - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + Поиск локализованной строки, подобной строке «Этот метод исключен и будет удален в следующей версии Dynamo. Используйте вместо него Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])». - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + Поиск локализованной строки, подобной строке «Этот метод исключен и будет удален в следующей версии Dynamo. Используйте вместо него Mesh.ByPointsIndices (Point[] points, Indices : int[])». Поиск локализованной строки, подобной строке «Узлы сетки используют 32-разрядную точность (до 7 десятичных знаков), что может привести к ошибкам при округлении больших значений или чисел с более чем 7 десятичными знаками. Для более высокой точности (64-разрядной, 15 десятичных знаков) используйте узлы из библиотеки геометрии.». diff --git a/doc/distrib/xml/zh-CN/DSCoreNodes.xml b/doc/distrib/xml/zh-CN/DSCoreNodes.xml index 7f83298d565..489a2eb4eff 100644 --- a/doc/distrib/xml/zh-CN/DSCoreNodes.xml +++ b/doc/distrib/xml/zh-CN/DSCoreNodes.xml @@ -940,7 +940,7 @@ 编辑距离是用于获取 2 个字符串之间距离的算法 - |<请参见>源 + | 在列表开头添加一项。 @@ -1607,16 +1607,16 @@ 查找类似“提供的颜色数据太大,无法适应图像边界。”的本地化字符串。 - Looks up a localized string similar to • Min and Max values must be different.. + 查找类似“• 最小值和最大值必须不同。”的本地化字符串。 - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + 查找类似“• 值必须是数字列表或单个数字≥ 2。”的本地化字符串。 - Looks up a localized string similar to • Control points for the selected curve are not valid.. + 查找类似“• 选定曲线的控制点无效。”的本地化字符串。 - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + 查找类似“• X 和 Y 输入必须是单个数字(而非列表)。”的本地化字符串。 查找类似“输入必须是单个值或非嵌套列表。”的本地化字符串。 diff --git a/doc/distrib/xml/zh-CN/ProtoGeometry.xml b/doc/distrib/xml/zh-CN/ProtoGeometry.xml index 00f607f473e..4d0b2be44c7 100644 --- a/doc/distrib/xml/zh-CN/ProtoGeometry.xml +++ b/doc/distrib/xml/zh-CN/ProtoGeometry.xml @@ -4821,7 +4821,7 @@ 由点集和引用点集的 IndexGroups 集创建面片 点列表 - Index groups for points + 为点索引组 网格 mesh,meshes @@ -4854,10 +4854,10 @@ 的三个位置 - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + 从提供的点和索引创建新网格。点应该 + 不重叠。索引应为三个整数的集合, + 指示三角形三个点的 + 点阵列中的三个位置 根据当前设置创建网格平面。 @@ -5612,10 +5612,10 @@ 查找类似“{0} 小于零”的本地化字符串。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + 查找类似“此方法已弃用,将在未来版本的 Dynamo 中删除。”的本地化字符串。请改用“Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])”。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + 查找类似“此方法已弃用,将在未来版本的 Dynamo 中删除。”的本地化字符串。请改用“Mesh.ByPointsIndices (Point[] points, Indices : int[])”。 查找类似“网格节点使用 32 位精度(7 位小数),对于非常大的数值或超过 7 位小数的数值,可能导致舍入错误。对于更高的精度(64 位,15 位小数),请使用几何图形库中的节点。”的本地化字符串。 diff --git a/doc/distrib/xml/zh-TW/DSCoreNodes.xml b/doc/distrib/xml/zh-TW/DSCoreNodes.xml index e8e6fff90c3..db7542e2937 100644 --- a/doc/distrib/xml/zh-TW/DSCoreNodes.xml +++ b/doc/distrib/xml/zh-TW/DSCoreNodes.xml @@ -1592,16 +1592,16 @@ 查找類似於「提供的顏色資料太大,無法佈滿影像邊界。」的本土化字串。 - Looks up a localized string similar to • Min and Max values must be different.. + 查找類似於「• 最小值和最大值必須不同。」的本土化字串。 - Looks up a localized string similar to • Values must be a list of numbers or a single number ≥ 2.. + 查找類似於「• 值必須是一個數字清單或一個 ≥ 2 的數字。」的本土化字串。 - Looks up a localized string similar to • Control points for the selected curve are not valid.. + 查找類似於「• 所選曲線的控制點無效。」的本土化字串。 - Looks up a localized string similar to • X and Y inputs must be single numbers (not lists).. + 查找類似於「• X 和 Y 輸入必須是一個數字 (不是清單)。」的本土化字串。 查找類似於「輸入必須是單一值或非巢狀清單。」的本土化字串。 diff --git a/doc/distrib/xml/zh-TW/ProtoGeometry.xml b/doc/distrib/xml/zh-TW/ProtoGeometry.xml index d180dfe9d22..3a0fd78d668 100644 --- a/doc/distrib/xml/zh-TW/ProtoGeometry.xml +++ b/doc/distrib/xml/zh-TW/ProtoGeometry.xml @@ -4810,9 +4810,9 @@ - 從點集合和參考點集合的 IndexGroups 集合建立網面 + 從點集合和參考點集合的 IndexGroups 集合建立網格 點清單 - Index groups for points + 點的索引群組 網格 mesh,meshes @@ -4845,10 +4845,10 @@ 頂點陣列中的三個位置 - Create a new Mesh from supplied points and indices. Points should - not overlap. Indices should be sets of three integers - indicating the three locations in the points array - of the three points of a triangle + 從提供的點和索引建立新網格。點不能 + 重疊。索引為一組三個整數, + 指出三角形三個點形成之 + 點陣列中的三個位置 根據目前設定建立網格平面。 @@ -5603,10 +5603,10 @@ 查找類似於「{0} 小於零」的本土化字串。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[]) instead. + 查找類似於「此方法已棄用,未來版本的 Dynamo 將移除。請改用 Mesh.ByPointsIndexGroups (Point[] points, IndexGroups : IndexGroup[])」的本土化字串。 - Looks up a localized string similar to This method is deprecated and will be removed in a future version of Dynamo. Use Mesh.ByPointsIndices (Point[] points, Indices : int[]) instead. + 查找類似於「此方法已棄用,未來版本的 Dynamo 將移除。請改用 Mesh.ByPointsIndices (Point[] points, Indices : int[])」的本土化字串。 查找類似於「Mesh 節點使用 32 位元的精確度 (7 位小數),很大或超過 7 位小數的數字可能會產生捨入誤差。如果需要較高精確度 (64 位元,15 位小數),請使用 Geometry 資源庫的節點。」的本土化字串。 diff --git a/src/DynamoCore/Configuration/PreferenceSettings.cs b/src/DynamoCore/Configuration/PreferenceSettings.cs index 5c051f78beb..7b4ee0243f1 100644 --- a/src/DynamoCore/Configuration/PreferenceSettings.cs +++ b/src/DynamoCore/Configuration/PreferenceSettings.cs @@ -682,10 +682,22 @@ public string PythonTemplateFilePath /// public int MLRecommendationConfidenceLevel { get; set; } + private int mLRecommendationNumberOfResults; /// /// This defines the number of results of the ML recommendation /// - public int MLRecommendationNumberOfResults { get; set; } + public int MLRecommendationNumberOfResults + { + get => mLRecommendationNumberOfResults; + set + { + if (mLRecommendationNumberOfResults != value) + { + mLRecommendationNumberOfResults = value; + AutocompletePreferencesChanged?.Invoke(); + } + } + } /// /// If true, autocomplete method options are hidden from UI @@ -853,10 +865,27 @@ public bool DisableCustomPackageLocations /// public RunType DefaultRunType { get; set; } + private NodeAutocompleteSuggestion defaultNodeAutocompleteSuggestion; /// /// Defines the default method of the Node Autocomplete /// - public NodeAutocompleteSuggestion DefaultNodeAutocompleteSuggestion { get; set; } + public NodeAutocompleteSuggestion DefaultNodeAutocompleteSuggestion + { + get => defaultNodeAutocompleteSuggestion; + set + { + if(defaultNodeAutocompleteSuggestion != value) + { + defaultNodeAutocompleteSuggestion = value; + AutocompletePreferencesChanged?.Invoke(); + } + } + } + + /// + /// Event that is fired when autocomplete-specific preferences are changed + /// + internal event Action AutocompletePreferencesChanged; /// /// Show Run Preview flag. diff --git a/src/DynamoCore/Models/DynamoModelCommands.cs b/src/DynamoCore/Models/DynamoModelCommands.cs index 2060e727a47..8f528ac0d6f 100644 --- a/src/DynamoCore/Models/DynamoModelCommands.cs +++ b/src/DynamoCore/Models/DynamoModelCommands.cs @@ -216,7 +216,7 @@ private NodeModel GetNodeFromCommand(CreateNodeCommand command) return null; } - private NodeModel CreateNodeFromNameOrType(Guid nodeId, string name) + internal NodeModel CreateNodeFromNameOrType(Guid nodeId, string name, bool isTransient = false) { NodeModel node; @@ -228,6 +228,7 @@ private NodeModel CreateNodeFromNameOrType(Guid nodeId, string name) ? new DSVarArgFunction(functionItem) as NodeModel : new DSFunction(functionItem); node.GUID = nodeId; + node.IsTransient = isTransient; return node; } @@ -235,6 +236,7 @@ private NodeModel CreateNodeFromNameOrType(Guid nodeId, string name) if (NodeFactory.CreateNodeFromTypeName(name, out node)) { node.GUID = nodeId; + node.IsTransient = isTransient; } return node; } diff --git a/src/DynamoCoreWpf/Controls/InPorts.xaml.cs b/src/DynamoCoreWpf/Controls/InPorts.xaml.cs index 65fbcddfdf8..8ca5441b414 100644 --- a/src/DynamoCoreWpf/Controls/InPorts.xaml.cs +++ b/src/DynamoCoreWpf/Controls/InPorts.xaml.cs @@ -256,6 +256,9 @@ private void OnDataContextChanged(object sender, DependencyPropertyChangedEventA CommandParameter = viewModel }; + mouseRightButtonDownTrigger.Actions.Add(mouseRightButtonDownAction); + Dynamo.Microsoft.Xaml.Behaviors.Interaction.GetTriggers(MainGrid).Add(mouseRightButtonDownTrigger); + var previewMouseLeftDownTrigger = new Dynamo.UI.Views.HandlingEventTrigger() { EventName = "PreviewMouseLeftButtonDown", diff --git a/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml b/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml index 9db860bfaf4..627a8d3b591 100644 --- a/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml +++ b/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml @@ -1,4 +1,4 @@ - - + @@ -40,7 +45,7 @@ - + - + @@ -374,4 +379,4 @@ - + diff --git a/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml.cs b/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml.cs index ce9af598a2a..23534e9e135 100644 --- a/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml.cs +++ b/src/DynamoCoreWpf/Controls/NodeAutoCompleteSearchControl.xaml.cs @@ -57,6 +57,23 @@ public NodeAutoCompleteSearchControl() HomeWorkspaceModel.WorkspaceClosed += this.CloseAutoCompletion; } + internal NodeAutoCompleteSearchControl(Window window, NodeAutoCompleteSearchViewModel viewModel) + { + Owner = window; + DataContext = viewModel; + ViewModel.IsOpen = true; + InitializeComponent(); + if (string.IsNullOrEmpty(DynamoModel.HostAnalyticsInfo.HostName) && Application.Current != null) + { + Application.Current.Deactivated += CurrentApplicationDeactivated; + if (Application.Current?.MainWindow != null) + { + Application.Current.MainWindow.Closing += NodeAutoCompleteSearchControl_Unloaded; + } + } + HomeWorkspaceModel.WorkspaceClosed += this.CloseAutoCompletion; + } + private void NodeAutoCompleteSearchControl_Unloaded(object sender, System.ComponentModel.CancelEventArgs e) { if (string.IsNullOrEmpty(DynamoModel.HostAnalyticsInfo.HostName) && Application.Current != null) @@ -72,12 +89,13 @@ private void NodeAutoCompleteSearchControl_Unloaded(object sender, System.Compon private void CurrentApplicationDeactivated(object sender, EventArgs e) { - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); } - private void OnRequestShowNodeAutoCompleteSearch(ShowHideFlags flags) + private void OnRequestHideNodeAutoCompleteSearch() { - RequestShowNodeAutoCompleteSearch?.Invoke(flags); + this.ViewModel.IsOpen = false; + this.Close(); } private void OnSearchTextBoxTextChanged(object sender, TextChangedEventArgs e) @@ -101,7 +119,7 @@ private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) if (!(sender is ListBoxItem listBoxItem) || e.OriginalSource is Thumb) return; ExecuteSearchElement(listBoxItem); - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); e.Handled = true; } @@ -236,7 +254,7 @@ private void OnParentNodeRemoved(NodeModel node) NodeModel parent_node = ViewModel.PortViewModel?.PortModel.Owner; if (node == parent_node) { - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); ViewModel.ParentNodeRemoved -= OnParentNodeRemoved; } } @@ -307,13 +325,13 @@ private void OnInCanvasSearchKeyDown(object sender, KeyEventArgs e) switch (key) { case Key.Escape: - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); break; case Key.Enter: if (HighlightedItem != null && ViewModel.CurrentMode != SearchViewModel.ViewMode.LibraryView) { ExecuteSearchElement(HighlightedItem); - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); } break; case Key.Up: @@ -382,7 +400,7 @@ internal void CloseAutocompletionWindow(object sender, RoutedEventArgs e) internal void CloseAutoCompletion() { - OnRequestShowNodeAutoCompleteSearch(ShowHideFlags.Hide); + OnRequestHideNodeAutoCompleteSearch(); ViewModel?.OnNodeAutoCompleteWindowClosed(); } diff --git a/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml.cs b/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml.cs index 4656a03dd1d..041f7a33f5a 100644 --- a/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml.cs +++ b/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml.cs @@ -95,7 +95,26 @@ private void AuthChangeHandler(LoginState status) { if (status == LoginState.LoggedOut) { - LoginButton.ToolTip = Wpf.Properties.Resources.SignInButtonContentToolTip; + var toolTip = new ToolTip + { + Content = Wpf.Properties.Resources.SignInButtonContentToolTip + }; + + // Retrieve the style from resources + var style = (Style)TryFindResource("GenericToolTipLight"); + if (style != null) + { + toolTip.Style = style; + } + else + { + // Optionally log a warning or handle the missing resource gracefully + System.Diagnostics.Debug.WriteLine("Warning: 'GenericToolTipLight' resource not found."); + } + + // Assign the styled tooltip to the Login Button + LoginButton.ToolTip = toolTip; + txtSignIn.Text = Wpf.Properties.Resources.SignInButtonText; logoutOption.Visibility = Visibility.Collapsed; loginMenu.Items.Remove(logoutOption); diff --git a/src/DynamoCoreWpf/Controls/StartPage.xaml.cs b/src/DynamoCoreWpf/Controls/StartPage.xaml.cs index 1ee8f9944de..e2ec5f3e4db 100644 --- a/src/DynamoCoreWpf/Controls/StartPage.xaml.cs +++ b/src/DynamoCoreWpf/Controls/StartPage.xaml.cs @@ -211,7 +211,7 @@ internal StartPageViewModel(DynamoViewModel dynamoViewModel, bool isFirstRun) #endregion var dvm = this.DynamoViewModel; - RefreshRecentFileList(dvm.RecentFiles); + RefreshRecentFileList(dvm.RecentFiles, true); RefreshBackupFileList(dvm.Model.PreferenceSettings.BackupFiles); dvm.RecentFiles.CollectionChanged += OnRecentFilesChanged; } @@ -404,27 +404,57 @@ public string BackupTitle private void OnRecentFilesChanged(object sender, NotifyCollectionChangedEventArgs e) { - RefreshRecentFileList(sender as IEnumerable); + //when we are just moving existing files, no need to refresh the complete list + if (e.Action == NotifyCollectionChangedAction.Move) + { + recentFiles.Move(e.OldStartingIndex, e.NewStartingIndex); + } + else if (e.Action == NotifyCollectionChangedAction.Add) + { + var newItems = e.NewItems?.Cast(); + if (newItems != null) + { + RefreshRecentFileList(newItems); + } + } + else if (e.Action == NotifyCollectionChangedAction.Remove) + { + recentFiles.RemoveRange(e.OldStartingIndex, recentFiles.Count - e.OldStartingIndex); + } + else + { + RefreshRecentFileList(sender as IEnumerable, true); + } } #endregion #region Private Class Helper Methods - private void RefreshRecentFileList(IEnumerable filePaths) + private void RefreshRecentFileList(IEnumerable filePaths, bool fullRefresh = false) { - RefreshFileList(recentFiles, filePaths); + RefreshFileList(recentFiles, filePaths, fullRefresh); } private void RefreshBackupFileList(IEnumerable filePaths) { - RefreshFileList(backupFiles, filePaths); + RefreshFileList(backupFiles, filePaths, true); } + /// + /// Refreshes the list of files in the specified collection. If fullRefresh is true, + /// discards the current list and regenerates all file items based on the provided file paths. + /// + /// Files currently in the recent files list + /// New files path which will be used to update the current list + /// If true, will discard the current list and regenerate all file items based on the provided file paths private void RefreshFileList(ObservableCollection files, - IEnumerable filePaths) + IEnumerable filePaths, bool fullRefresh = false) { - files.Clear(); + if (fullRefresh) + { + files.Clear(); + } foreach (var filePath in filePaths.Where(x => x != null)) { try @@ -441,7 +471,7 @@ private void RefreshFileList(ObservableCollection files, // deserializes the file only once var properties = GetFileProperties(filePath); - files.Add(new StartPageListItem(caption) + var startItem = new StartPageListItem(caption) { ContextData = filePath, ToolTip = filePath, @@ -451,8 +481,16 @@ private void RefreshFileList(ObservableCollection files, Author = properties.author, DateModified = properties.date, ClickAction = StartPageListItem.Action.FilePath, + }; - }); + if (fullRefresh) + { + files.Add(startItem); + } + else + { + files.Insert(0, startItem); + } } catch (ArgumentException ex) { diff --git a/src/DynamoCoreWpf/Properties/Resources.Designer.cs b/src/DynamoCoreWpf/Properties/Resources.Designer.cs index e4a57d615a8..3d5974e84e7 100644 --- a/src/DynamoCoreWpf/Properties/Resources.Designer.cs +++ b/src/DynamoCoreWpf/Properties/Resources.Designer.cs @@ -5048,7 +5048,7 @@ public static string MinorVersionNonNegative { } /// - /// Looks up a localized string similar to Number of results. + /// Looks up a localized string similar to Number of results for Recommended Nodes. /// public static string MLRecommendationNumberOfResults { get { diff --git a/src/DynamoCoreWpf/Properties/Resources.cs-CZ.resx b/src/DynamoCoreWpf/Properties/Resources.cs-CZ.resx index 0c7ed84f338..81ddc485c92 100644 --- a/src/DynamoCoreWpf/Properties/Resources.cs-CZ.resx +++ b/src/DynamoCoreWpf/Properties/Resources.cs-CZ.resx @@ -3230,7 +3230,7 @@ Tato umístění můžete spravovat v části Předvolby -> Zabezpečení.Vedle každého doporučeného uzlu se zobrazí úroveň spolehlivosti, která představuje odhadovanou pravděpodobnost, že uzel je vhodnou volbou. Pokud je tato možnost zapnuta, skryjí se doporučené uzly, které nesplňují zadanou úroveň spolehlivosti. Chcete-li takové uzly zobrazit, klikněte na záhlaví Nízká spolehlivost. - Počet výsledků + Number of results for Recommended Nodes Importovat @@ -3791,7 +3791,7 @@ Chcete-li vytvořit z tohoto souboru novou šablonu, uložte ho do jiné složky Zpět na výběr souboru - This group is frozen. Click to unfreeze. + Tato skupina je zmrazená. Kliknutím ji rozmrazíte. diff --git a/src/DynamoCoreWpf/Properties/Resources.de-DE.resx b/src/DynamoCoreWpf/Properties/Resources.de-DE.resx index 9a46b3f15a5..9766e485849 100644 --- a/src/DynamoCoreWpf/Properties/Resources.de-DE.resx +++ b/src/DynamoCoreWpf/Properties/Resources.de-DE.resx @@ -3229,7 +3229,7 @@ Sie können dies unter Voreinstellungen -> Sicherheit verwalten. Die Zuverlässigkeit wird neben jedem empfohlenen Block angezeigt und stellt die geschätzte Wahrscheinlichkeit dar, die aussagt, ob der Block eine gute Wahl ist. Wenn diese Option aktiviert ist, werden empfohlene Blöcke, die nicht die angegebene Zuverlässigkeit erfüllen, ausgeblendet. Sie können auf die Kopfzeile Niedrige Zuverlässigkeit klicken, um die Blöcke anzuzeigen. - Anzahl der Ergebnisse + Number of results for Recommended Nodes Importieren @@ -3790,7 +3790,7 @@ Führen Sie #Download und Installation=https://manage.autodesk.com/products/upda Zurück zur Dateiauswahl - This group is frozen. Click to unfreeze. + Diese Gruppe ist eingefroren. Klicken Sie, um sie freizugeben. diff --git a/src/DynamoCoreWpf/Properties/Resources.en-US.resx b/src/DynamoCoreWpf/Properties/Resources.en-US.resx index c4b1359c43c..d7885855e2a 100644 --- a/src/DynamoCoreWpf/Properties/Resources.en-US.resx +++ b/src/DynamoCoreWpf/Properties/Resources.en-US.resx @@ -3573,7 +3573,7 @@ You can manage this in Preferences -> Security. Confidence level appears next to each recommended node and represents estimated probability that the node is a good choice. When toggled on, this setting hides recommended nodes that don’t meet the specified confidence level. You can click the Low Confidence header to show the nodes. - Number of results + Number of results for Recommended Nodes Import @@ -4155,4 +4155,4 @@ To make this file into a new template, save it to a different folder, then move This group is frozen. Click to unfreeze. - + \ No newline at end of file diff --git a/src/DynamoCoreWpf/Properties/Resources.es-ES.resx b/src/DynamoCoreWpf/Properties/Resources.es-ES.resx index c17bc40aaa2..9fb992f3863 100644 --- a/src/DynamoCoreWpf/Properties/Resources.es-ES.resx +++ b/src/DynamoCoreWpf/Properties/Resources.es-ES.resx @@ -3231,7 +3231,7 @@ Puede administrar esto en Preferencias - > Seguridad. El nivel de confianza aparece junto a cada nodo recomendado y representa la probabilidad estimada de que el nodo sea una buena opción. Si se activa este parámetro, oculta los nodos recomendados que no cumplen el nivel de confianza especificado. Puede hacer clic en el encabezado Confianza baja para visualizar los nodos. - Número de resultados + Number of results for Recommended Nodes Importar @@ -3792,7 +3792,7 @@ Para convertir este archivo en una nueva plantilla, guárdelo en una carpeta dif Volver a la selección de archivos - This group is frozen. Click to unfreeze. + Este grupo está inutilizado. Haga clic para reutilizarlo. diff --git a/src/DynamoCoreWpf/Properties/Resources.fr-FR.resx b/src/DynamoCoreWpf/Properties/Resources.fr-FR.resx index 40fa0b8066d..7653ddf09c1 100644 --- a/src/DynamoCoreWpf/Properties/Resources.fr-FR.resx +++ b/src/DynamoCoreWpf/Properties/Resources.fr-FR.resx @@ -3229,7 +3229,7 @@ Vous pouvez gérer ce paramètre dans Préférences -> Sécurité. Le niveau de confiance apparaît en regard de chaque noeud recommandé et représente la probabilité estimée que le noeud soit un bon choix. Lorsque cette option est activée, ce paramètre masque les noeuds recommandés qui ne répondent pas au niveau de confiance spécifié. Vous pouvez cliquer sur l'en-tête Qualité faible pour afficher les noeuds. - Nombre de résultats + Number of results for Recommended Nodes Importer @@ -3786,7 +3786,7 @@ Pour transformer ce fichier en nouveau gabarit, enregistrez-le dans un autre dos Retour à la sélection de fichiers - This group is frozen. Click to unfreeze. + Ce groupe est bloqué. Cliquez pour le débloquer. diff --git a/src/DynamoCoreWpf/Properties/Resources.it-IT.resx b/src/DynamoCoreWpf/Properties/Resources.it-IT.resx index 1ca516eba9c..4756c51d7b8 100644 --- a/src/DynamoCoreWpf/Properties/Resources.it-IT.resx +++ b/src/DynamoCoreWpf/Properties/Resources.it-IT.resx @@ -3213,7 +3213,7 @@ Provare a posizionare il nodo **ByOrigin** evidenziato. Il livello di affidabilità viene visualizzato accanto a ciascun nodo consigliato e rappresenta la probabilità stimata che il nodo sia una buona scelta. Quando è attivata, questa impostazione nasconde i nodi consigliati che non soddisfano il livello di affidabilità specificato. È possibile fare clic sull'intestazione Bassa affidabilità per mostrare i nodi. - Numero di risultati + Number of results for Recommended Nodes Importa @@ -3774,7 +3774,7 @@ Per trasformare questo file in un nuovo modello, salvarlo in un'altra cartella e Torna alla selezione di file - This group is frozen. Click to unfreeze. + Questo gruppo è congelato. Fare clic per scongelare. diff --git a/src/DynamoCoreWpf/Properties/Resources.ja-JP.resx b/src/DynamoCoreWpf/Properties/Resources.ja-JP.resx index 76dd81e0934..8e3dd9633be 100644 --- a/src/DynamoCoreWpf/Properties/Resources.ja-JP.resx +++ b/src/DynamoCoreWpf/Properties/Resources.ja-JP.resx @@ -3231,7 +3231,7 @@ Dynamo を再起動してアンインストールを完了します。 信頼度レベルは、各推奨ノードの横に表示され、そのノードが適切な選択である推定確率を表します。この設定をオンにすると、指定した信頼度レベルを満たさない推奨ノードは非表示になります。それらのノードを表示するには、[低信頼度]ヘッダをクリックします。 - 結果数 + Number of results for Recommended Nodes 読み込み @@ -3792,7 +3792,7 @@ Dynamo を再起動してアンインストールを完了します。 ファイル選択に戻る - This group is frozen. Click to unfreeze. + このグループはフリーズされています。クリックすると、フリーズが解除されます。 diff --git a/src/DynamoCoreWpf/Properties/Resources.ko-KR.resx b/src/DynamoCoreWpf/Properties/Resources.ko-KR.resx index 9b8928613b4..37946f4c8c4 100644 --- a/src/DynamoCoreWpf/Properties/Resources.ko-KR.resx +++ b/src/DynamoCoreWpf/Properties/Resources.ko-KR.resx @@ -3229,7 +3229,7 @@ 신뢰도 수준은 각 권장 노드 옆에 표시되며 노드가 적절한 선택일 수 있는 예상 확률을 나타냅니다. 이 설정을 켜면 지정된 신뢰도 수준을 충족하지 않는 권장 노드가 숨겨집니다. 낮은 신뢰도 헤더를 클릭하여 노드를 표시할 수 있습니다. - 결과 수 + Number of results for Recommended Nodes 가져오기 @@ -3790,7 +3790,7 @@ 파일 선택으로 돌아가기 - This group is frozen. Click to unfreeze. + 이 그룹은 동결되었습니다. 동결을 해제하려면 클릭하십시오. diff --git a/src/DynamoCoreWpf/Properties/Resources.pl-PL.resx b/src/DynamoCoreWpf/Properties/Resources.pl-PL.resx index b19aa38f74e..87153c4e00f 100644 --- a/src/DynamoCoreWpf/Properties/Resources.pl-PL.resx +++ b/src/DynamoCoreWpf/Properties/Resources.pl-PL.resx @@ -3231,7 +3231,7 @@ Można tym zarządzać w obszarze Preferencje -> Zabezpieczenia. Poziom pewności jest wyświetlany obok każdego zalecanego węzła i oddaje szacowane prawdopodobieństwo, że węzeł jest dobrym wyborem. Po włączeniu to ustawienie ukrywa zalecane węzły, które nie spełniają określonego poziomu pewności. Można kliknąć nagłówek Niska pewność, aby wyświetlić te węzły. - Liczba wyników + Number of results for Recommended Nodes Importuj @@ -3792,7 +3792,7 @@ Aby ustawić ten plik jako nowy szablon, zapisz go w innym folderze, a następni Powrót do wyboru pliku - This group is frozen. Click to unfreeze. + Ta grupa jest zablokowana. Kliknij, aby odblokować. diff --git a/src/DynamoCoreWpf/Properties/Resources.pt-BR.resx b/src/DynamoCoreWpf/Properties/Resources.pt-BR.resx index 58dadc93f5c..128a3851654 100644 --- a/src/DynamoCoreWpf/Properties/Resources.pt-BR.resx +++ b/src/DynamoCoreWpf/Properties/Resources.pt-BR.resx @@ -3231,7 +3231,7 @@ Tente colocar o nó **ByOrigin** realçado. O nível de confiança aparece próximo a cada nó recomendado e representa a probabilidade estimada de que o nó seja uma boa escolha. Quando ativada, essa configuração oculta os nós recomendados que não atendem ao nível de confiança especificado. É possível clicar no cabeçalho Baixa confiança para mostrar os nós. - Número de resultados + Number of results for Recommended Nodes Importar @@ -3792,7 +3792,7 @@ Para transformar este arquivo em um novo modelo, salve-o em uma pasta diferente Voltar para Seleção de arquivos - This group is frozen. Click to unfreeze. + Esse grupo está congelado. Clique para descongelar. diff --git a/src/DynamoCoreWpf/Properties/Resources.resx b/src/DynamoCoreWpf/Properties/Resources.resx index f488ee4113e..01822908f48 100644 --- a/src/DynamoCoreWpf/Properties/Resources.resx +++ b/src/DynamoCoreWpf/Properties/Resources.resx @@ -3560,7 +3560,7 @@ You can manage this in Preferences -> Security. Confidence level appears next to each recommended node and represents estimated probability that the node is a good choice. When toggled on, this setting hides recommended nodes that don’t meet the specified confidence level. You can click the Low Confidence header to show the nodes. - Number of results + Number of results for Recommended Nodes Import diff --git a/src/DynamoCoreWpf/Properties/Resources.ru-RU.resx b/src/DynamoCoreWpf/Properties/Resources.ru-RU.resx index d953c68d9b3..0a0d70ebd1a 100644 --- a/src/DynamoCoreWpf/Properties/Resources.ru-RU.resx +++ b/src/DynamoCoreWpf/Properties/Resources.ru-RU.resx @@ -3231,7 +3231,7 @@ Уровень надежности отображается рядом с каждым рекомендуемым узлом и представляет собой предполагаемую вероятность удачного выбора узла. При включении этого параметра рекомендуемые узлы, которые не соответствуют заданному уровню надежности, скрываются. Для отображения узлов можно щелкнуть заголовок «Низкая надежность». - Количество результатов + Number of results for Recommended Nodes Импорт @@ -3792,7 +3792,7 @@ Назад к выбору файлов - This group is frozen. Click to unfreeze. + Эта группа заморожена. Щелкните, чтобы разморозить. diff --git a/src/DynamoCoreWpf/Properties/Resources.zh-CN.resx b/src/DynamoCoreWpf/Properties/Resources.zh-CN.resx index 49b8f45db81..ad1442d31c6 100644 --- a/src/DynamoCoreWpf/Properties/Resources.zh-CN.resx +++ b/src/DynamoCoreWpf/Properties/Resources.zh-CN.resx @@ -3229,7 +3229,7 @@ 置信度会显示在每个建议节点的旁边,表示该节点是理想选择的估计概率。启用后,该设置会隐藏不符合指定置信度的建议节点。可以单击“低置信度”标题以显示相应节点。 - 结果数 + Number of results for Recommended Nodes 输入 @@ -3790,7 +3790,7 @@ 回到文件选择 - This group is frozen. Click to unfreeze. + 此组已冻结。单击以取消冻结。 diff --git a/src/DynamoCoreWpf/Properties/Resources.zh-TW.resx b/src/DynamoCoreWpf/Properties/Resources.zh-TW.resx index e02f2e56851..6b1d3b5c40b 100644 --- a/src/DynamoCoreWpf/Properties/Resources.zh-TW.resx +++ b/src/DynamoCoreWpf/Properties/Resources.zh-TW.resx @@ -3230,7 +3230,7 @@ 信賴水準會出現在每個建議的節點旁邊,表示適合使用該節點的預估機率。開啟時,此設定會隱藏未達到指定信賴水準的建議節點。您可以按一下「低信賴」標頭以顯示節點。 - 結果數 + Number of results for Recommended Nodes 匯入 @@ -3791,7 +3791,7 @@ 回到檔案選取 - This group is frozen. Click to unfreeze. + 此群組已凍結。按一下可解凍。 diff --git a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs index 52d45bf8328..936493cf666 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs @@ -1841,17 +1841,35 @@ private void OnRuleEvaluationResultsCollectionChanged(object sender, NotifyColle RaisePropertyChanged(nameof(LinterIssuesCount)); } + /// + /// Adds the path to the list of recent files. + /// We don't do anything if the file is already added and is at the first place, + /// we move the file to the start of the list if it is already present, + /// or add it to the start of the list if it is not present. + /// Every other event, except Move will refresh all the recent files. + /// + /// internal void AddToRecentFiles(string path) { if (path == null) return; - if (RecentFiles.Contains(path)) + var currIdx = RecentFiles.IndexOf(path); + if (currIdx == 0) return; + else if (currIdx > 0) { - RecentFiles.Remove(path); + RecentFiles.Move(currIdx, 0); + return; } RecentFiles.Insert(0, path); + UpdateRecentFiles(); + } + /// + /// Update recent files list and limits the number of recent files to the maximum number of recent files as set in the preferences. + /// + internal void UpdateRecentFiles() + { int maxNumRecentFiles = Model.PreferenceSettings.MaxNumRecentFiles; if (RecentFiles.Count > maxNumRecentFiles) { diff --git a/src/DynamoCoreWpf/ViewModels/Core/NodeViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/NodeViewModel.cs index 40cf1461824..f15f7613d51 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/NodeViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/NodeViewModel.cs @@ -39,7 +39,7 @@ public partial class NodeViewModel : ViewModelBase public delegate void SnapInputEventHandler(PortViewModel portViewModel); public delegate void PreviewPinStatusHandler(bool pinned); - internal delegate void NodeAutoCompletePopupEventHandler(Popup popup); + internal delegate void NodeAutoCompletePopupEventHandler(Window window, PortModel portType, double spacing); internal delegate void NodeClusterAutoCompletePopupEventHandler(Window window, double spacing); internal delegate void PortContextMenuPopupEventHandler(Popup popup); #endregion @@ -831,9 +831,9 @@ internal bool IsWatchNode internal event NodeAutoCompletePopupEventHandler RequestAutoCompletePopupPlacementTarget; internal event PortContextMenuPopupEventHandler RequestPortContextMenuPopupPlacementTarget; - internal void OnRequestAutoCompletePopupPlacementTarget(Popup popup) + internal void OnRequestAutoCompletePopupPlacementTarget(Window window, PortModel portModel, double spacing) { - RequestAutoCompletePopupPlacementTarget?.Invoke(popup); + RequestAutoCompletePopupPlacementTarget?.Invoke(window, portModel, spacing); } internal void OnClusterRequestAutoCompletePopupPlacementTarget(Window window, double spacing) diff --git a/src/DynamoCoreWpf/ViewModels/Core/PortViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/PortViewModel.cs index ff1c8a64610..b81d91c0bcf 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/PortViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/PortViewModel.cs @@ -330,11 +330,10 @@ private T FindChild(DependencyObject parent, Func predicate) where T /// /// Sets up the node autocomplete window to be placed relative to the node. /// - /// Node autocomplete popup. - internal void SetupNodeAutoCompleteWindowPlacement(Popup popup) + /// Node autocomplete popup. + internal void SetupNodeAutoCompleteWindowPlacement(Window window) { - node.OnRequestAutoCompletePopupPlacementTarget(popup); - popup.CustomPopupPlacementCallback = PlaceAutocompletePopup; + node.OnRequestAutoCompletePopupPlacementTarget(window, PortModel, autocompletePopupSpacing); } /// @@ -394,33 +393,6 @@ private void ConfigurePopupPlacement(Popup popup, double zoom) }; } - private CustomPopupPlacement[] PlaceAutocompletePopup(Size popupSize, Size targetSize, Point offset) - { - var zoom = node.WorkspaceViewModel.Zoom; - - double x; - var scaledSpacing = autocompletePopupSpacing * targetSize.Width / node.ActualWidth; - if (PortModel.PortType == PortType.Input) - { - // Offset popup to the left by its width from left edge of node and spacing. - x = -scaledSpacing - popupSize.Width; - } - else - { - // Offset popup to the right by node width and spacing from left edge of node. - x = scaledSpacing + targetSize.Width; - } - // Offset popup down from the upper edge of the node by the node header and corresponding to the respective port. - // Scale the absolute heights by the target height (passed to the callback) and the actual height of the node. - var scaledHeight = targetSize.Height / node.ActualHeight; - var absoluteHeight = NodeModel.HeaderHeight + (PortModel.Index * PortModel.Height); - var y = absoluteHeight * scaledHeight; - - var placement = new CustomPopupPlacement(new Point(x, y), PopupPrimaryAxis.None); - - return new[] { placement }; - } - private CustomPopupPlacement[] PlacePortContextMenu(Size popupSize, Size targetSize, Point offset) { // The actual zoom here is confusing @@ -575,7 +547,7 @@ private void AutoComplete(object parameter) wsViewModel.NodeAutoCompleteSearchViewModel.PortViewModel = this; - wsViewModel.OnRequestNodeAutoCompleteSearch(ShowHideFlags.Show); + wsViewModel.OnRequestNodeAutoCompleteSearch(); } // Handler to invoke Node autocomplete cluster diff --git a/src/DynamoCoreWpf/ViewModels/Core/WorkspaceViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/WorkspaceViewModel.cs index 8b83d0d8090..d2052eaa91d 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/WorkspaceViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/WorkspaceViewModel.cs @@ -170,14 +170,14 @@ private void OnRequestHideAllPopup(object param) RequestHideAllPopup?.Invoke(param); } - internal event Action RequestNodeAutoCompleteSearch; + internal event Action RequestNodeAutoCompleteSearch; internal event Action RequestNodeAutoCompleteBar; internal event Action RequestPortContextMenu; internal static event Action RequestNodeAutoCompleteViewExtension; - internal void OnRequestNodeAutoCompleteSearch(ShowHideFlags flag, bool ClusterNodeAutocomplete = false) + internal void OnRequestNodeAutoCompleteSearch() { - RequestNodeAutoCompleteSearch?.Invoke(flag); + RequestNodeAutoCompleteSearch?.Invoke(); } internal void OnRequestNodeAutocompleteBar(PortViewModel viewModel) diff --git a/src/DynamoCoreWpf/ViewModels/Menu/PreferencesViewModel.cs b/src/DynamoCoreWpf/ViewModels/Menu/PreferencesViewModel.cs index cbce1594b0e..c0dd48deacd 100644 --- a/src/DynamoCoreWpf/ViewModels/Menu/PreferencesViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Menu/PreferencesViewModel.cs @@ -1820,7 +1820,7 @@ private void Model_PropertyChanged(object sender, PropertyChangedEventArgs e) goto default; case nameof(MaxNumRecentFiles): description = Res.ResourceManager.GetString(nameof(Res.PreferencesSettingMaxRecentFiles), System.Globalization.CultureInfo.InvariantCulture); - UpdateRecentFiles(); + dynamoViewModel.UpdateRecentFiles(); goto default; case nameof(PythonTemplateFilePath): description = Res.ResourceManager.GetString(nameof(Res.PreferencesSettingCustomPythomTemplate), System.Globalization.CultureInfo.InvariantCulture); @@ -1964,14 +1964,6 @@ private void PythonEnginesChanged(object sender, NotifyCollectionChangedEventArg AddPythonEnginesOptions(); } } - - private void UpdateRecentFiles() - { - if (dynamoViewModel.RecentFiles.Count > MaxNumRecentFiles) - { - dynamoViewModel.RecentFiles.RemoveRange(MaxNumRecentFiles, dynamoViewModel.RecentFiles.Count - MaxNumRecentFiles); - } - } } public class PythonTemplatePathEventArgs : EventArgs diff --git a/src/DynamoCoreWpf/ViewModels/Search/NodeAutoCompleteSearchViewModel.cs b/src/DynamoCoreWpf/ViewModels/Search/NodeAutoCompleteSearchViewModel.cs index 2b1a7563d5f..e2180896c3f 100644 --- a/src/DynamoCoreWpf/ViewModels/Search/NodeAutoCompleteSearchViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Search/NodeAutoCompleteSearchViewModel.cs @@ -45,6 +45,7 @@ public class NodeAutoCompleteSearchViewModel : SearchViewModel private bool displayLowConfidence; private const string nodeAutocompleteMLEndpoint = "MLNodeAutocomplete"; private const string nodeClusterAutocompleteMLEndpoint = "MLNodeClusterAutocomplete"; + internal bool IsOpen { get; set; } // Lucene search utility to perform indexing operations just for NodeAutocomplete. internal LuceneSearchUtility LuceneUtility diff --git a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs index eabb81cd8cf..a9d0838ad2a 100644 --- a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs +++ b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs @@ -3147,7 +3147,6 @@ public void Dispose() //TODO code smell. var workspaceView = this.ChildOfType(); workspaceView?.Dispose(); - (workspaceView?.NodeAutoCompleteSearchBar?.Child as IDisposable)?.Dispose(); } } } diff --git a/src/DynamoCoreWpf/Views/Core/NodeView.xaml.cs b/src/DynamoCoreWpf/Views/Core/NodeView.xaml.cs index 83a2391b2b8..cae571674d8 100644 --- a/src/DynamoCoreWpf/Views/Core/NodeView.xaml.cs +++ b/src/DynamoCoreWpf/Views/Core/NodeView.xaml.cs @@ -153,6 +153,8 @@ internal bool HasPreviewControl private Rectangle nodeBackground; private ItemsControl outputPortControl; private Button optionsButton; + private Image imageControl; + private DockPanel nodeHeaderContent; //View items referenced outside of NodeView internal to DynamoCoreWPF previously from xaml //TODO do we rationalize the capitalization? @@ -316,6 +318,7 @@ static NodeView() _nodeButtonDotsSelected.Freeze(); _nodeButtonDots.Freeze(); _defaultNodeIcon.Freeze(); + LoadBmpPorts(); } public NodeView() @@ -344,7 +347,8 @@ public NodeView() nodeBackground = new Rectangle() { Name = "nodeBackground", - Fill = _darkGreyBrush + Fill = _darkGreyBrush, + Visibility = Visibility.Collapsed }; Grid.SetRow(nodeBackground, 2); @@ -361,6 +365,7 @@ public NodeView() CornerRadius = new CornerRadius(8, 8, 0, 0), Background = _darkMidGreyBrush, IsHitTestVisible = true, + Visibility = Visibility.Collapsed }; Grid.SetRow(nameBackground, 1); @@ -444,11 +449,12 @@ public NodeView() dynamoToolTip.Content = tooltipStackPanel; nameBackground.ToolTip = dynamoToolTip; - var nodeHeaderContent = new DockPanel() + nodeHeaderContent = new DockPanel() { Name = "nodeHeaderContent", VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(6), + Visibility = Visibility.Collapsed }; Grid.SetRow(nodeHeaderContent, 1); @@ -567,7 +573,7 @@ public NodeView() }); dynamoRenameToolTip.Content = toolTipTextBlock; - renameIndicator.ToolTip = dynamoToolTip; + renameIndicator.ToolTip = dynamoRenameToolTip; #endregion @@ -578,7 +584,8 @@ public NodeView() Name = "inputPortControl", Margin = new Thickness(-25, 3, 0, 0), VerticalAlignment = VerticalAlignment.Top, - HorizontalContentAlignment = HorizontalAlignment.Stretch + HorizontalContentAlignment = HorizontalAlignment.Stretch, + Visibility = Visibility.Collapsed }; inputPortControl.SetBinding(ItemsControl.ItemsSourceProperty, new Binding("InPorts")); @@ -592,6 +599,7 @@ public NodeView() Margin = new Thickness(0, 3, -24, 5), VerticalAlignment = VerticalAlignment.Top, HorizontalContentAlignment = HorizontalAlignment.Stretch, + Visibility = Visibility.Collapsed }; outputPortControl.SetBinding(ItemsControl.ItemsSourceProperty, new Binding("OutPorts")); @@ -1158,6 +1166,17 @@ public NodeView() Panel.SetZIndex(this, 1); } + private void SetNodeBackgroundHeaderAndPortsVisible() + { + + nodeBackground.Visibility = Visibility.Visible; + nameBackground.Visibility = Visibility.Visible; + nodeHeaderContent.Visibility = Visibility.Visible; + inputPortControl.Visibility = Visibility.Visible; + outputPortControl.Visibility = Visibility.Visible; + + } + private static Style GetNodeButtonStyle() { // Create the Style @@ -1399,6 +1418,48 @@ private static Style GetCodeBlockPortItemControlStyle() return inOutPortControlStyle; } + //Set up pixel arrays for the port markers + static byte[] bluePixels = new byte[5 * 29 * 4]; + static byte[] bluePixelsDefault = new byte[4 * 27 * 4]; + static byte[] redPixels = new byte[5 * 29 * 4]; + static byte[] greyPixels = new byte[5 * 29 * 4]; + + //Initialize the port arrays + private static void LoadBmpPorts() + { + for (int i = 0; i < bluePixels.Length; i += 4) + { + bluePixels[i + 0] = 231; // Blue + bluePixels[i + 1] = 192; // Green + bluePixels[i + 2] = 106; // Red + bluePixels[i + 3] = 255; // Alpha + } + + for (int i = 0; i < bluePixelsDefault.Length; i += 4) + { + bluePixelsDefault[i + 0] = 231; // Blue + bluePixelsDefault[i + 1] = 192; // Green + bluePixelsDefault[i + 2] = 106; // Red + bluePixelsDefault[i + 3] = 255; // Alpha + } + + for (int i = 0; i < redPixels.Length; i += 4) + { + redPixels[i + 0] = 85; // Blue + redPixels[i + 1] = 85; // Green + redPixels[i + 2] = 235; // Red + redPixels[i + 3] = 255; // Alpha + } + + for (int i = 0; i < greyPixels.Length; i += 4) + { + greyPixels[i + 0] = 153; // Blue + greyPixels[i + 1] = 153; // Green + greyPixels[i + 2] = 153; // Red + greyPixels[i + 3] = 255; // Alpha + } + } + private void OnNodeViewUnloaded(object sender, RoutedEventArgs e) { ViewModel.NodeLogic.DispatchedToUI -= NodeLogic_DispatchedToUI; @@ -1473,6 +1534,121 @@ private void OnDataContextChanged(object sender, DependencyPropertyChangedEventA ViewModel = e.NewValue as NodeViewModel; + //Todo move to static resource file + //Todo handle cases where Name is the same for multiple nodes (ie Point.ByCoordinate) + var path = "C:\\Temp\\NodeCache\\" + ViewModel.Name + ".png"; + if (System.IO.File.Exists(path)) + { + var bitmap = new BitmapImage(new Uri(path, UriKind.Absolute)); + var writeableBitmap = new WriteableBitmap(bitmap); + + // Define rectangle position and size + int width = 5, height = 29; + int bytesPerPixel = (writeableBitmap.Format.BitsPerPixel + 7) / 8; + + int j = 0; + + foreach (var item in ViewModel.InPorts) + { + var model = item as InPortViewModel; + // Define the rectangle's position and size + int x = 0; // X coordinate + int y = 52 + j; // Y coordinate + + if (model.PortValueMarkerColor.Color.R == 106) + { + writeableBitmap.WritePixels( + new Int32Rect(x + 5, y, width, height), + bluePixels, + width * bytesPerPixel, + 0 + ); + } + else if(model.PortValueMarkerColor.Color.R == 235) + { + writeableBitmap.WritePixels( + new Int32Rect(x + 5, y, width, height), + redPixels, + width * bytesPerPixel, + 0 + ); + } + else + { + writeableBitmap.WritePixels( + new Int32Rect(x + 5, y, width, height), + greyPixels, + width * bytesPerPixel, + 0 + ); + } + + if (model.PortDefaultValueMarkerVisible) + { + writeableBitmap.WritePixels( + new Int32Rect(x, y + 1, width - 1, height - 2), + bluePixelsDefault, + (width-1) * bytesPerPixel, + 0 + ); + } + + j += 34; + } + + j = 0; + foreach (var item in ViewModel.OutPorts) + { + var model = item as OutPortViewModel; + // Define the rectangle's position and size + int x = (int)writeableBitmap.Width - 5; // X coordinate + int y = 53 + j; // Y coordinate + + if (model.PortDefaultValueMarkerVisible) + { + writeableBitmap.WritePixels( + new Int32Rect(x, y, width, height), + greyPixels, + width * bytesPerPixel, + 0 + ); + } + + j += 34; + } + + // Create the Image control + imageControl = new Image + { + Source = writeableBitmap, + Margin = new Thickness(-5, 0, 0, 0), + Width = writeableBitmap.PixelWidth, // Set width to pixel width + Height = writeableBitmap.PixelHeight, // Set height to pixel height + Stretch = System.Windows.Media.Stretch.None // Prevent scaling + }; + + Grid.SetRow(imageControl, 1); + Grid.SetRowSpan(imageControl, 3); + Grid.SetColumnSpan(imageControl, 3); + + grid.Children.Add(imageControl); + + Dispatcher.CurrentDispatcher.BeginInvoke(() => + { + if (imageControl != null) + { + grid.Children.Remove(imageControl); + imageControl = null; + + SetNodeBackgroundHeaderAndPortsVisible(); + } + }, DispatcherPriority.Background); + } + else + { + SetNodeBackgroundHeaderAndPortsVisible(); + } + //Set NodeIcon if (ViewModel.ImageSource == null) { @@ -1661,19 +1837,33 @@ private void CachedValueChanged() })); } - private void ViewModel_RequestAutoCompletePopupPlacementTarget(Popup popup) + private Point PointToLocal(double x, double y, UIElement target) { - popup.PlacementTarget = this; + Point positionFromScreen = target.PointToScreen(new Point(x, y)); + PresentationSource source = PresentationSource.FromVisual(target); + Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(positionFromScreen); + return targetPoints; + } - ViewModel.ActualHeight = ActualHeight; - ViewModel.ActualWidth = ActualWidth; + private void ViewModel_RequestAutoCompletePopupPlacementTarget(Window window, PortModel portModel, double spacing) + { + if (portModel.PortType == PortType.Input) + { + var portView = inputPortControl.ItemContainerGenerator.ContainerFromIndex(portModel.Index) as FrameworkElement; + window.Top = PointToLocal(0, 0, portView).Y; + window.Left = PointToLocal(0, 0, this).X - window.Width - spacing; + } + else + { + var portView = outputPortControl.ItemContainerGenerator.ContainerFromIndex(portModel.Index) as FrameworkElement; + window.Top = PointToLocal(0, 0, portView).Y; + window.Left = PointToLocal(ActualWidth, 0, this).X + spacing; + } } private void ViewModel_RequestClusterAutoCompletePopupPlacementTarget(Window window, double spacing) { - Point positionFromScreen = PointToScreen(new Point(0, this.ActualHeight)); - PresentationSource source = PresentationSource.FromVisual(this); - Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(positionFromScreen); + Point targetPoints = PointToLocal(0, ActualHeight, this); window.Left = targetPoints.X; window.Top = targetPoints.Y + spacing; @@ -1885,6 +2075,16 @@ private void EditableNameBox_KeyDown(object sender, KeyEventArgs e) private void OnNodeViewMouseEnter(object sender, MouseEventArgs e) { + if (imageControl != null) + { + grid.Dispatcher.Invoke(() => + { + grid.Children.Remove(imageControl); + imageControl = null; + + SetNodeBackgroundHeaderAndPortsVisible(); + }); + } // if the node is located under "Hide preview bubbles" menu item and the item is clicked, // ViewModel.DynamoViewModel.ShowPreviewBubbles will be updated AFTER node mouse enter event occurs // so, wait while ShowPreviewBubbles binding updates value @@ -1948,7 +2148,7 @@ private void OnNodeViewMouseLeave(object sender, MouseEventArgs e) } // If it's condensed, then try to hide it. if (PreviewControl.IsCondensed && Mouse.Captured == null) - { + { PreviewControl.TransitionToState(PreviewControl.State.Hidden); } } diff --git a/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml b/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml index 7d3f61daa72..1bfdf4a4244 100644 --- a/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml +++ b/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml @@ -369,15 +369,6 @@ - - - -