|
| | PnSpline () |
| | Construct an empty PnSpline.
|
| | PnSpline (std::vector< std::array< double, 3 > > &controlPoints, std::vector< std::vector< uint32_t > > &controlIndices, bool degRaise=false) |
| | Construct a PnSpline from control net data.
|
| | PnSpline (const PnSpline &other) |
| | Copy constructor.
|
| PnSpline & | operator= (const PnSpline &other) |
| | Copy assignment operator.
|
| | PnSpline (PnSpline &&other) noexcept |
| | Move constructor.
|
| PnSpline & | operator= (PnSpline &&other) noexcept |
| | Move assignment operator.
|
|
| ~PnSpline () |
| | Destructor.
|
| std::vector< uint32_t > | updateControlMesh (std::vector< std::array< double, 3 > > &updatedControlPoints, std::vector< uint32_t > &updateIndices) |
| | Update part of the control mesh.
|
|
void | degRaise () |
| | Degree raise all patches upto degree 3 for each paramter. Degree greater than 3 will remain unchanged. This is not relevant for PnS3.
|
| uint32_t | numPatches () const |
| | Get the number of patches in this PnSpline.
|
| PnSPatch | getPatch (uint32_t index) const |
| | Access an individual patch by index.
|
Represents a PnSpline(Polyhedral net Spline) composed of piecwise polynomial patches PnSPatch.
A PnSpline manages a collection of patches defined over a control mesh. It provides methods to update the underlying control structure efficiently without needing to reconstruct the entire surface, retrieve individual patches, and perform operations such as degree elevation.
This class uses the PIMPL idiom to ensure binary compatibility across different versions of the library. The member functions are inline functions that call binary safe C functions declared in PnSpline_impl.hpp.