![]() |
Polyhedral-net Splines
|
A class representing a Bézier patch. More...
#include <Patch.hpp>
Public Member Functions | |
| Patch () | |
| Construct a new Patch object. | |
| Patch (int a_BiDeg) | |
| Construct a new Patch object. | |
| Patch (int a_BiDeg, std::string a_Group) | |
| Construct a new Patch object. | |
| Patch (int a_DegU, int a_DegV) | |
| Construct a new Patch object. | |
| Patch (int a_DegU, int a_DegV, std::string a_Group) | |
| Construct a new Patch object. | |
| Patch (const Patch &other)=default | |
| Copy constructor. | |
| Patch (Patch &&other) noexcept=default | |
| Move constructor. | |
| Patch & | operator= (const Patch &other) |
| Copy assignment operator. | |
| Patch & | operator= (Patch &&other) noexcept |
| Move assignment operator. | |
| bool | isValid () const |
| Checks if a patch is valid. | |
| void | initBBcoefs () |
| intializes the control points array based on the degrees. | |
| void | degRaise () |
| Raises the degree of the patch by one in both u and v directions. | |
Public Attributes | |
| const std::string | m_PatchType = "5" |
| Patch type Please find patch type at https://www.cise.ufl.edu/research/SurfLab/bview/#file-format. | |
| int | m_DegU |
| Degree in u direction. | |
| int | m_DegV |
| Degree in v direction. | |
| std::string | m_Group = "Group 0 default" |
| Group name associated with the patch. | |
| std::vector< std::vector< Point > > | m_BBcoefs |
| Control points of the Bézier patch. | |
A class representing a Bézier patch.
The Patch class encapsulates the properties and control points of a Bézier patch. It includes methods for initialization, validation, and degree elevation.
| Patch::Patch | ( | int | a_BiDeg | ) |
Construct a new Patch object.
| a_BiDeg | The bi-degree of the patch (same in both u and v directions). |
| Patch::Patch | ( | int | a_BiDeg, |
| std::string | a_Group ) |
Construct a new Patch object.
| a_BiDeg | The bi-degree of the patch (same in both u and v directions). |
| a_Group | The group name associated with the patch. |
| Patch::Patch | ( | int | a_DegU, |
| int | a_DegV ) |
Construct a new Patch object.
| a_DegU | The degree of the patch in the u direction. |
| a_DegV | The degree of the patch in the v direction. |
| Patch::Patch | ( | int | a_DegU, |
| int | a_DegV, | ||
| std::string | a_Group ) |
Construct a new Patch object.
| a_DegU | The degree of the patch in the u direction. |
| a_DegV | The degree of the patch in the v direction. |
| a_Group | The group name associated with the patch. |
|
default |
Copy constructor.
| other | The Patch object to copy from. |
|
defaultnoexcept |
Move constructor.
| other | The Patch object to move from. |
| void Patch::degRaise | ( | ) |
Raises the degree of the patch by one in both u and v directions.
This method modifies the control points to reflect the degree elevation.
| bool Patch::isValid | ( | ) | const |
Checks if a patch is valid.
| std::vector<std::vector<Point> > Patch::m_BBcoefs |
Control points of the Bézier patch.
This is a 2D vector where each element represents a control point in 3D space. The size of the outer vector is (m_DegU + 1) and the size of the inner vectors is (m_DegV + 1).