PanelSurface
Returns the number of panels in the PanelSurface.
Returns the number of vertices in the PanelSurface.
public static PanelSurface ByCrossSplitSquares(Surface surface, int numU, int numV, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a square grid, with each square split into four triangles by its diagonals.
public static PanelSurface ByCustomOrthogonalLattice(Surface surface, int numU, int numV, double uDisplacement, double vDisplacement, UV[][] tileUVs, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface with a custom tiling pattern. The tiles are polygons in UV parameter space. They can be non-convex but must not self-intersect. It is not compulsory for the set of tiles to be touching edge-to-edge. The paneling pattern is generated by displacing copies of the tiles along the u and v directions by the supplied displacements. The UV coordinates of the vertices of each tile are provided in the tileUVs argument.
public static PanelSurface ByDiagonallySplitSquares(Surface surface, int numU, int numV, bool alternativeDiagonal = false, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a square grid, with each square split into two triangles by a diagonal. By default, the diagonal is from the bottom left corner to the top right corner.
public static PanelSurface ByDiamonds(Surface surface, int numU, int numV, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a diamond-shaped pattern.
public static PanelSurface ByHexagons(Surface surface, int numU, int numV, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a hexagonal tiling pattern.
public static PanelSurface ByParallelograms(Surface surface, int numU, int numV, double shearFactor, bool alignWithUAxis = false, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in parallelograms tiled vertically and horizontally. Each parallelogram is a square with a shear applied along the V-axis or U-axis determined by the ‘alignWithUAxis’ input and a shear factor. By default the parallelograms are aligned with the V-axis.
public static PanelSurface ByQuads(Surface surface, int numU, int numV, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a square tiling pattern.
public static PanelSurface ByRhombiTriHexagonals(Surface surface, int numU, int numV, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a tiling with one triangle, two squares, and one hexagon at each vertex.
public static PanelSurface BySplitDiamonds(Surface surface, int numU, int numV, bool splitHorizontally = false, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a diamond-shaped pattern, with each diamond split vertically or horizontally into two triangles. By default, each diamond is split vertically.
public static PanelSurface ByStaggeredQuads(Surface surface, int numU, int numV, bool staggerVertically = false, double displacementFactor = 0.5, PanelSurfaceBoundaryCondition boundaryCondition = 0)
Panels the input surface in a staggered square pattern. By default, the pattern is staggered horizontally.
Returns the number of vertices for each panel in the list of panel indices.
Returns the points for each panel in the list of panel indices.
Returns the polygonal boundary for each panel in the list of panel indices.
Returns the vertices for each panel in the list of panel indices.
Returns the point corresponding to the vertex index in the PanelSurface.
Returns the vertex corresponding to the vertex index in the PanelSurface.
Returns the index for a given panel on the input surface and for the vertex inside the panel.
public PanelSurface SetTransform(double scale, double uOffset, double vOffset, double rotation, Point rotationPoint)
Applies a uniform scaling, translation and rotation transformation to the given PanelSurface.