Polyhedral-net Splines
Loading...
Searching...
No Matches
PnSpline_impl.hpp
1/* copyright(c)Jorg Peters [jorg.peters@gmail.com] */
2
3#pragma once
4#include <vector>
5#include <array>
6#include <string>
7#include <cstdint>
8
9/* WARNING:
10 C-style bridge functions for ABI stability.
11 Should only be used with caution. */
12
13
14struct Patch;
15
16extern "C" {
17struct PnSplineImpl;
18PnSplineImpl* PnSpline_create_empty();
19PnSplineImpl* PnSpline_create_from_points(const double* points, uint64_t numPoints,
20 const uint32_t* faceIndices, const uint64_t* faceSizes, uint64_t numFaces,
21 bool degRaise);
22PnSplineImpl* PnSpline_clone(const PnSplineImpl* other);
23void PnSpline_destroy(PnSplineImpl* impl);
24
25// Operations
26void PnSpline_degRaise(PnSplineImpl* impl);
27
28uint64_t PnSpline_updateControlMesh(PnSplineImpl* impl,
29 const double* updatedPoints, uint64_t numPoints,
30 const uint32_t* updateIndices, uint64_t numIndices,
31 uint32_t* outUpdatedPatchIndices, uint64_t maxOut);
32
33uint64_t PnSpline_getNumPatches(const PnSplineImpl* impl);
34
35Patch* PnSpline_getPatch(const PnSplineImpl* impl, uint32_t index);
36}
A class representing a Bézier patch.
Definition Patch.hpp:20
Definition PnSpline_impl.cpp:17