Go to the source code of this file.
Typedefs | |
| typedef struct MR_FaceNormals | MR_FaceNormals |
| typedef struct MR_MeshTopology | MR_MeshTopology |
| typedef struct MR_VertCoords | MR_VertCoords |
| typedef struct MR_NormalsToPoints | MR_NormalsToPoints |
| typedef struct MR_NormalsToPoints_ISolver | MR_NormalsToPoints_ISolver |
Generated from class MR::NormalsToPoints::ISolver. | |
Functions | |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_DefaultConstruct (void) |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_DefaultConstructArray (size_t num_elems) |
| MRC_API const MR_NormalsToPoints * | MR_NormalsToPoints_OffsetPtr (const MR_NormalsToPoints *ptr, ptrdiff_t i) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. | |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_OffsetMutablePtr (MR_NormalsToPoints *ptr, ptrdiff_t i) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. | |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_ConstructFromAnother (MR_PassBy _other_pass_by, MR_NormalsToPoints *_other) |
| MRC_API void | MR_NormalsToPoints_Destroy (const MR_NormalsToPoints *_this) |
Destroys a heap-allocated instance of MR_NormalsToPoints. Does nothing if the pointer is null. | |
| MRC_API void | MR_NormalsToPoints_DestroyArray (const MR_NormalsToPoints *_this) |
Destroys a heap-allocated array of MR_NormalsToPoints. Does nothing if the pointer is null. | |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_AssignFromAnother (MR_NormalsToPoints *_this, MR_PassBy _other_pass_by, MR_NormalsToPoints *_other) |
| MRC_API void | MR_NormalsToPoints_prepare (MR_NormalsToPoints *_this, const MR_MeshTopology *topology, const float *guideWeight) |
| MRC_API void | MR_NormalsToPoints_run_3 (MR_NormalsToPoints *_this, const MR_VertCoords *guide, const MR_FaceNormals *normals, MR_VertCoords *points) |
| MRC_API void | MR_NormalsToPoints_run_4 (MR_NormalsToPoints *_this, const MR_VertCoords *guide, const MR_FaceNormals *normals, MR_VertCoords *points, float maxInitialDistSq) |
| MRC_API void | MR_NormalsToPoints_ISolver_Destroy (const MR_NormalsToPoints_ISolver *_this) |
Destroys a heap-allocated instance of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null. | |
| MRC_API void | MR_NormalsToPoints_ISolver_DestroyArray (const MR_NormalsToPoints_ISolver *_this) |
Destroys a heap-allocated array of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null. | |
| MRC_API void | MR_NormalsToPoints_ISolver_prepare (MR_NormalsToPoints_ISolver *_this, const MR_MeshTopology *topology, float guideWeight) |
| MRC_API void | MR_NormalsToPoints_ISolver_run (MR_NormalsToPoints_ISolver *_this, const MR_VertCoords *guide, const MR_FaceNormals *normals, MR_VertCoords *points, float maxInitialDistSq) |
| MRC_API const MR_NormalsToPoints_ISolver * | MR_NormalsToPoints_ISolver_OffsetPtr (const MR_NormalsToPoints_ISolver *ptr, ptrdiff_t i) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. | |
| MRC_API MR_NormalsToPoints_ISolver * | MR_NormalsToPoints_ISolver_OffsetMutablePtr (MR_NormalsToPoints_ISolver *ptr, ptrdiff_t i) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. | |
| typedef struct MR_FaceNormals MR_FaceNormals |
| typedef struct MR_MeshTopology MR_MeshTopology |
| typedef struct MR_NormalsToPoints MR_NormalsToPoints |
The purpose of this class is to update vertex positions given target triangle normals; see the article "Static/Dynamic Filtering for Mesh Geometry" Generated from class MR::NormalsToPoints.
| typedef struct MR_NormalsToPoints_ISolver MR_NormalsToPoints_ISolver |
Generated from class MR::NormalsToPoints::ISolver.
| typedef struct MR_VertCoords MR_VertCoords |
| MRC_API MR_NormalsToPoints * MR_NormalsToPoints_AssignFromAnother | ( | MR_NormalsToPoints * | _this, |
| MR_PassBy | _other_pass_by, | ||
| MR_NormalsToPoints * | _other ) |
Generated from a method of class MR::NormalsToPoints named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_NormalsToPoints * MR_NormalsToPoints_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
| MR_NormalsToPoints * | _other ) |
Generated from a constructor of class MR::NormalsToPoints. Never returns null. Returns an instance allocated on the heap! Must call MR_NormalsToPoints_Destroy() to free it when you're done using it.
| MRC_API MR_NormalsToPoints * MR_NormalsToPoints_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_NormalsToPoints_Destroy() to free it when you're done using it.
| MRC_API MR_NormalsToPoints * MR_NormalsToPoints_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_NormalsToPoints_DestroyArray(). Use MR_NormalsToPoints_OffsetMutablePtr() and MR_NormalsToPoints_OffsetPtr() to access the array elements.
| MRC_API void MR_NormalsToPoints_Destroy | ( | const MR_NormalsToPoints * | _this | ) |
Destroys a heap-allocated instance of MR_NormalsToPoints. Does nothing if the pointer is null.
| MRC_API void MR_NormalsToPoints_DestroyArray | ( | const MR_NormalsToPoints * | _this | ) |
Destroys a heap-allocated array of MR_NormalsToPoints. Does nothing if the pointer is null.
| MRC_API void MR_NormalsToPoints_ISolver_Destroy | ( | const MR_NormalsToPoints_ISolver * | _this | ) |
Destroys a heap-allocated instance of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null.
| MRC_API void MR_NormalsToPoints_ISolver_DestroyArray | ( | const MR_NormalsToPoints_ISolver * | _this | ) |
Destroys a heap-allocated array of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null.
| MRC_API MR_NormalsToPoints_ISolver * MR_NormalsToPoints_ISolver_OffsetMutablePtr | ( | MR_NormalsToPoints_ISolver * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API const MR_NormalsToPoints_ISolver * MR_NormalsToPoints_ISolver_OffsetPtr | ( | const MR_NormalsToPoints_ISolver * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API void MR_NormalsToPoints_ISolver_prepare | ( | MR_NormalsToPoints_ISolver * | _this, |
| const MR_MeshTopology * | topology, | ||
| float | guideWeight ) |
Generated from a method of class MR::NormalsToPoints::ISolver named prepare. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object.
| MRC_API void MR_NormalsToPoints_ISolver_run | ( | MR_NormalsToPoints_ISolver * | _this, |
| const MR_VertCoords * | guide, | ||
| const MR_FaceNormals * | normals, | ||
| MR_VertCoords * | points, | ||
| float | maxInitialDistSq ) |
Generated from a method of class MR::NormalsToPoints::ISolver named run. Parameter _this can not be null. It is a single object. Parameter guide can not be null. It is a single object. Parameter normals can not be null. It is a single object. Parameter points can not be null. It is a single object.
| MRC_API MR_NormalsToPoints * MR_NormalsToPoints_OffsetMutablePtr | ( | MR_NormalsToPoints * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API const MR_NormalsToPoints * MR_NormalsToPoints_OffsetPtr | ( | const MR_NormalsToPoints * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API void MR_NormalsToPoints_prepare | ( | MR_NormalsToPoints * | _this, |
| const MR_MeshTopology * | topology, | ||
| const float * | guideWeight ) |
builds linear system and prepares a solver for it; please call it only once for mesh, and then run as many times as you like
| guideWeight | how much resulting points must be attracted to initial points, must be > 0 Generated from a method of class MR::NormalsToPoints named prepare. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Parameter guideWeight has a default argument: 1, pass a null pointer to use it. |
| MRC_API void MR_NormalsToPoints_run_3 | ( | MR_NormalsToPoints * | _this, |
| const MR_VertCoords * | guide, | ||
| const MR_FaceNormals * | normals, | ||
| MR_VertCoords * | points ) |
performs one iteration consisting of projection of all triangles on planes with given normals and finding best points from them
| guide | target vertex positions to avoid under-determined system |
| normals | target face normals |
| points | initial approximation on input, updated approximation on output |
| maxInitialDistSq | the maximum squared distance between a point and its position in (guide) Generated from a method of class MR::NormalsToPoints named run. Parameter _this can not be null. It is a single object. Parameter guide can not be null. It is a single object. Parameter normals can not be null. It is a single object. Parameter points can not be null. It is a single object. |
| MRC_API void MR_NormalsToPoints_run_4 | ( | MR_NormalsToPoints * | _this, |
| const MR_VertCoords * | guide, | ||
| const MR_FaceNormals * | normals, | ||
| MR_VertCoords * | points, | ||
| float | maxInitialDistSq ) |
Generated from a method of class MR::NormalsToPoints named run. Parameter _this can not be null. It is a single object. Parameter guide can not be null. It is a single object. Parameter normals can not be null. It is a single object. Parameter points can not be null. It is a single object.