6#include "PnSPatch_impl.hpp"
68 const double&
operator()(uint32_t i, uint32_t j, uint32_t k)
const;
104 friend class PnSpline;
117 PnSPatch_destroy(
impl);
125 patch.impl =
nullptr;
129 if (
this != &a_Other) {
130 PnSPatch_destroy(
impl);
131 impl = PnSPatch_clone(a_Other.
impl);
137 if (
this != &other) {
138 PnSPatch_destroy(
impl);
140 other.impl =
nullptr;
146 return PnSPatch_getValue(
impl, i, j, k);
150 return PnSPatch_isValid(
impl);
154 PnSPatch_degRaise(
impl);
158 return PnSPatch_getDegreeU(
impl);
162 return PnSPatch_getDegreeV(
impl);
void degRaise()
Perform degree elevation on the patch.
Definition PnSPatch.hpp:153
uint32_t getDegreeV() const
Get the polynomial degree in the v-direction.
Definition PnSPatch.hpp:161
~PnSPatch()
Destructor.
Definition PnSPatch.hpp:116
PnSPatch()
Default constructor.
PnSPatch & operator=(const PnSPatch &a_Other)
Copy assignment operator.
Definition PnSPatch.hpp:128
const double & operator()(uint32_t i, uint32_t j, uint32_t k) const
Access Bézier coefficient by index.
Definition PnSPatch.hpp:145
bool isValid() const
Check whether this patch is valid.
Definition PnSPatch.hpp:149
Patch * impl
Opaque pointer to implementation (PIMPL idiom). This is to ensure binary compatibility.
Definition PnSPatch.hpp:107
uint32_t getDegreeU() const
Get the polynomial degree in the u-direction.
Definition PnSPatch.hpp:157
PnSplineImpl * impl
Opaque pointer to implementation (PIMPL idiom). This is to ensure binary compatibility.
Definition PnSpline.hpp:128
A class representing a Bézier patch.
Definition Patch.hpp:20