#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stddef.h>
Go to the source code of this file.
|
| 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) |
| |
| MRC_API MR_NormalsToPoints * | MR_NormalsToPoints_OffsetMutablePtr (MR_NormalsToPoints *ptr, ptrdiff_t i) |
| |
| 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) |
| |
| MRC_API MR_NormalsToPoints_ISolver * | MR_NormalsToPoints_ISolver_OffsetMutablePtr (MR_NormalsToPoints_ISolver *ptr, ptrdiff_t i) |
| |
◆ MR_FaceNormals
◆ MR_MeshTopology
◆ 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. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
◆ MR_NormalsToPoints_ISolver
◆ MR_VertCoords
◆ MR_NormalsToPoints_AssignFromAnother()
Generated from method MR::NormalsToPoints::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
◆ MR_NormalsToPoints_ConstructFromAnother()
Generated from constructor MR::NormalsToPoints::NormalsToPoints. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_NormalsToPoints_Destroy() to free it when you're done using it.
◆ MR_NormalsToPoints_DefaultConstruct()
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.
◆ MR_NormalsToPoints_DefaultConstructArray()
◆ MR_NormalsToPoints_Destroy()
Destroys a heap-allocated instance of MR_NormalsToPoints. Does nothing if the pointer is null.
◆ MR_NormalsToPoints_DestroyArray()
Destroys a heap-allocated array of MR_NormalsToPoints. Does nothing if the pointer is null.
◆ MR_NormalsToPoints_ISolver_Destroy()
Destroys a heap-allocated instance of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null.
◆ MR_NormalsToPoints_ISolver_DestroyArray()
Destroys a heap-allocated array of MR_NormalsToPoints_ISolver. Does nothing if the pointer is null.
◆ MR_NormalsToPoints_ISolver_OffsetMutablePtr()
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. The reference to the parameter ptr might be preserved in the return value.
◆ MR_NormalsToPoints_ISolver_OffsetPtr()
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. The reference to the parameter ptr might be preserved in the return value.
◆ MR_NormalsToPoints_ISolver_prepare()
◆ MR_NormalsToPoints_ISolver_run()
Generated from method MR::NormalsToPoints::ISolver::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.
◆ MR_NormalsToPoints_OffsetMutablePtr()
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. The reference to the parameter ptr might be preserved in the return value.
◆ MR_NormalsToPoints_OffsetPtr()
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. The reference to the parameter ptr might be preserved in the return value.
◆ MR_NormalsToPoints_prepare()
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
- Parameters
-
| guideWeight | how much resulting points must be attracted to initial points, must be > 0 Generated from method MR::NormalsToPoints::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. |
◆ MR_NormalsToPoints_run_3()
performs one iteration consisting of projection of all triangles on planes with given normals and finding best points from them
- Parameters
-
| 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 method MR::NormalsToPoints::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. |
◆ MR_NormalsToPoints_run_4()
Generated from method MR::NormalsToPoints::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.