Skip to content

Commit

Permalink
Helena's comments
Browse files Browse the repository at this point in the history
  • Loading branch information
dariaivanciucova committed Nov 21, 2023
1 parent 5554718 commit c06fdf7
Show file tree
Hide file tree
Showing 18 changed files with 20 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## In-Depth
Note that in a T-Spline surface topology, indices of `Face`, `Edge`, and `Vertex` do not necessarily coincide with the sequence number of the item in the list. Use the node `TSplineSurface.CompressIndices` to address this issue.

In the example below `TSplineTopology.DecomposedEdges` is used to retrieve the border edges of a T-Spline surface and `TSplineEdge.Index` node is then used to obtain the indices of the provided edges.
In the example below, `TSplineTopology.DecomposedEdges` is used to retrieve the border edges of a T-Spline surface and a `TSplineEdge.Index` node is then used to obtain the indices of the provided edges.

## Example File

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- `uvnFrame`: point on the hull, U vector, V vector, and normal vector of the T-Spline Edge
- `index`: the index of the Edge
- `isBorder`: whether the chosen Edge is a Border of T-Spline surface
- `isManifold`; whether the chosen Edge is Manifold
- `isManifold`: whether the chosen Edge is Manifold

In the example below, `TSplineTopology.DecomposedEdges` is used to obtain a list of all edges of a T-Spline cylinder primitive surface, and `TSplineEdge.Info` is used to investigate their properties.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
`TSplineEdge.IsBorder` returns `True` if the input T-Spline edge is a Border.

In the example below, the edges of two T-Spline surfaces are investigated. The surfaces are a cylinder and its thickened version. To select all edges, `TSplineTopology.EdgeByIndex` nodes are used in both cases, with the indices input - a range of integers spanning from 0 to n, where n is the number of edges provided by the `TSplineTopology.EdgesCount`. This is an alternative to directly selecting edges using `TSplineTopology.DecomposedEdges`. `TSplineSurface.CompressIndices` is additionally used in the case of a thickened cylinder to reorder the edge indices.
`TSplineEdge.IsBorder` node is used to check which of the edges are border edges. The position of the border edges of the flat cylinder are highlighted with the help of `TSplineEdge.UVNFrame` and `TSplineUVNFrame.Position` nodes. The thickened cylinder has no border edges.
A `TSplineEdge.IsBorder` node is used to check which of the edges are border edges. The position of the border edges of the flat cylinder are highlighted with the help of `TSplineEdge.UVNFrame` and `TSplineUVNFrame.Position` nodes. The thickened cylinder has no border edges.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## In-Depth
In the example below, to illustrate a case of a non-manifold edge, a surface is produced by joining two surfaces that share an internal edge. A result is a surface that has no clear front and back. The non-manifold surface can only be displayed in box mode until it is repaired. `TSplineEdge.IsManifold` node is used in this case to highlight which of the internal and border edges qualify as manifold.
In the example below, to illustrate a case of a non-manifold edge, a surface is produced by joining two surfaces that share an internal edge. A result is a surface that has no clear front and back. The non-manifold surface can only be displayed in box mode until it is repaired. The `TSplineEdge.IsManifold` node is used in this case to highlight which of the internal and border edges qualify as manifold.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
## In-Depth
`TSplineFace.Info` returns the following properties of a T-Spline Face:
- `uvnFrame`: point on the hull, U vector, V vector, and normal vector of the T-Spline Face
- `index`: the index of face
- `index`: the index of the Face
- `valence`: number of vertices or edges that form a face
- `sides`: the number of edges of each T-Spline Face

In the example below, `TSplineSurface.ByBoxCorners` and `TSplineTopology.RegularFaces` are used to respectively create e T-Spline and select its faces. `List.GetItemAtIndex` is used to pick a specific face of the T-Spline, and `TSplineFace.Info` is used to find out its properties.
In the example below, `TSplineSurface.ByBoxCorners` and `TSplineTopology.RegularFaces` are used to respectively create a T-Spline and select its faces. `List.GetItemAtIndex` is used to pick a specific face of the T-Spline, and `TSplineFace.Info` is used to find out its properties.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## In-Depth
A UVNFrame of a face provides useful information about the face position and orientation by returning the normal vector and UV directions.
In the example below, `TSplineFace.UVNFrame` node is used to visualize the distribution of faces on a quadball primitive. `TSplineTopology.DecomposedFaces` is used to query all faces and `TSplineFace.UVNFrame` node is then used to retrieve the positions of face centroids as points. The points are visualized using `TSplineUVNFrame.Position` node. Labels are displayed in the background preview by enabling `Show Labels` in the node`s right-click menu.
In the example below, a `TSplineFace.UVNFrame` node is used to visualize the distribution of faces on a quadball primitive. `TSplineTopology.DecomposedFaces` is used to query all faces and a `TSplineFace.UVNFrame` node is then used to retrieve the positions of face centroids as points. The points are visualized using a `TSplineUVNFrame.Position` node. Labels are displayed in the background preview by enabling Show Labels in the node's right-click menu.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## In-Depth
In the example below, a cone is created with its base positioned on the origin of the Coordinate System, defined by the `cs` input. The size of the cone is defined by `height`, and `radius`. The spans in radial and height directions are controlled by `radiusSpans` and `heightSpans` inputs. The initial symmetry of the shape is specified by the `symmetry` input. If X or Y symmetry is set to True, the value of radial spans must be a multiple of 4. Finally, the `inSmoothMode` input is used to switch between smooth and box mode preview of the T-Spline surface.
In the example below, a cone is created with its base positioned on the origin of the Coordinate System, defined by the `cs` input. The size of the cone is defined by `height` and `radius`. The spans in radial and height directions are controlled by `radiusSpans` and `heightSpans` inputs. The initial symmetry of the shape is specified by the `symmetry` input. If X or Y symmetry is set to True, the value of radial spans must be a multiple of 4. Finally, the `inSmoothMode` input is used to switch between smooth and box mode preview of the T-Spline surface.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## In-Depth
In the example below, a T-Spline primitive cylinder surface is created. The bottom and top planes of the cylinder are defined by `startPoint` and `endPoint` inputs and the size is set by `radius` input value. The spans in radial and height directions are controlled by `radiusSpans` and `heightSpans` inputs. The initial symmetry of the shape is specified by the `symmetry` input. If X or Y symmetry is set to True, the value of radial spans must be a multiple of 4. Finally, the `inSmoothMode` input is used to switch between smooth and box mode preview of the T-Spline surface.
In the example below, a T-Spline primitive cylinder surface is created. The bottom and top planes of the cylinder are defined by `startPoint` and `endPoint` inputs and the size is set by the `radius` input value. The spans in radial and height directions are controlled by `radiusSpans` and `heightSpans` inputs. The initial symmetry of the shape is specified by the `symmetry` input. If X or Y symmetry is set to True, the value of radial spans must be a multiple of 4. Finally, the `inSmoothMode` input is used to switch between smooth and box mode preview of the T-Spline surface.

## Example File

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- `points`: a set of points to define the plane orientation and origin. In cases where the input points do not lie on a single plane, the plane`s orientation is determined based on the best fit. A minimum of three points is required to create the surface.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created using a randomly generated list of points. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- `line` and `point`: an input required to define the orientation and position of the plane.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D. For example, when a `minCorner` is set to (0,0) and `maxCorner` is (5,10), the plane width and length will be 5 and 10 respectively.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created using a line and a plane as input. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- `normal`: a vector specifying the normal direction of the created plane.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D. For example, when a `minCorner` is set to (0,0) and `maxCorner` is (5,10), the plane width and length will be 5 and 10 respectively.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created by using the provided origin point and the normal which is a vector of the X axis. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- `xAxis` : a vector defining the direction of the X axis, allowing for more control over the orientation of the created plane.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D. For example, when a `minCorner` is set to (0,0) and `maxCorner` is (5,10), the plane width and length will be 5 and 10 respectively.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created by using the provided origin point and the normal which is a vector of the X axis. The `xAxis` input is set to the Z axis. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- `xAxis` and `yAxis`: vectors defining the direction of the X and Y axes of the created plane.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D. For example, when a `minCorner` is set to (0,0) and `maxCorner` is (5,10), the plane width and length will be 5 and 10 respectively.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created by using the provided origin point and two vectors serving as X and Y directions. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
- `p1`, `p2` and `p3`: three points defining the position of the plane. The first point is considered the origin of the plane.
- `minCorner` and `maxCorner`: the corners of the plane, represented as Points with X and Y values (Z coordinates will be ignored). These corners represent the extents of the output T-Spline surface if it is translated onto the XY plane. The `minCorner` and `maxCorner` points do not have to coincide with the corner vertices in 3D. For example, when a `minCorner` is set to (0,0) and `maxCorner` is (5,10), the plane width and length will be 5 and 10 respectively.
- `xSpans` and `ySpans`: number of width and length spans/divisions of the plane
- `symmetry`: whether the geometry is symmetrical in respect to its X, Y and Z axes
- `symmetry`: whether the geometry is symmetrical with respect to its X, Y and Z axes
- `inSmoothMode`: whether the resulting geometry will appear with smooth or box mode

In the example below, a T-Spline planar surface is created by three randompy generated points. The first point is the origin of the plane. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.
In the example below, a T-Spline planar surface is created by three randomly generated points. The first point is the origin of the plane. The size of the surface is controlled by the two points used as `minCorner` and `maxCorner` inputs.

## Example File

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
The functional valence of a vertex goes beyond a simple count of adjacent edges and takes into account the virtual grid lines that impact the blending of the vertex in the area around it. It provides a more nuanced understanding of how vertices and their edges influence the surface during deformation and refinement operations.
When used on regular vertices and T-Points, `TSplineVertex.FunctionalValence` node returns the value of "4" which means that the surface is guided by splines in a shape of a grid. A functional valence of anything other than "4" means that the vertex is a star point and the blending around the vertex will be less smooth.

In the example below, `TSplineVertex.FunctionalValence` is used on two T-Point vertices of a T-Spline plane surface. `TSplineVertex.Valence` node returns the value of 3, while the Functional Valence of the selected vertices is 4, which is specific for T-Points. `TSplineVertex.UVNFrame` and `TSplineUVNFrame.Position` nodes are used to visualize the position of the vertices being analyzed.
In the example below, the `TSplineVertex.FunctionalValence` is used on two T-Point vertices of a T-Spline plane surface. The `TSplineVertex.Valence` node returns the value of 3, while the Functional Valence of the selected vertices is 4, which is specific for T-Points. `TSplineVertex.UVNFrame` and `TSplineUVNFrame.Position` nodes are used to visualize the position of the vertices being analyzed.

## Example File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## In-Depth
In the example below, a non-manifold surface is produced by joining two surfaces that share an internal edge. A result is a surface that has no clear front and back. The non-manifold surface can only be displayed in box mode until it is repaired. `TSplineTopology.DecomposedVertices` is used to query all the vertices of the surface and `TSplineVertex.IsManifold` node is usedto highlight which of the vertices qualify as manifold. The non-manifold vertices are extracted and their position visualized by using the `TSplineVertex.UVNFrame` and `TSplineUVNFrame.Position` nodes.
In the example below, a non-manifold surface is produced by joining two surfaces that share an internal edge. A result is a surface that has no clear front and back. The non-manifold surface can only be displayed in box mode until it is repaired. `TSplineTopology.DecomposedVertices` is used to query all the vertices of the surface and `TSplineVertex.IsManifold` node is used to highlight which of the vertices qualify as manifold. The non-manifold vertices are extracted and their position visualized by using the `TSplineVertex.UVNFrame` and `TSplineUVNFrame.Position` nodes.


## Example File
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

Star points exist when 3, 5, or more edges come together. They naturally occur in the Box or Quadball primitive and are most commonly created when extruding a T-Spline face, deleting a face, or performing Merge. Unlike regular and T-Point vertices, star points are not controlled by rectangular rows of control points. Star points make the area around them more difficult to control and can create distortion, so they should only be used where necessary. Poor locations for star point placement include sharper parts of the model like creased edges, parts where the curvature changes significantly, or on the edge of an open surface.

Star points also determine how a T-Spline will be converted to BREP. When a T-Spline is converted to BREP, it will split into separate surfaces at each star point.
Star points also determine how a T-Spline will be converted to boundary representation (BREP). When a T-Spline is converted to BREP, it will split into separate surfaces at each star point.

In the example below, `TSplineVertex.IsStarPoint` is used to query if the Vertex selected with `TSplineTopology.VertexByIndex` is a star point.

Expand Down
Loading

0 comments on commit c06fdf7

Please sign in to comment.