#include <MRCMesh/MRId.h>#include <MRCMesh/MRVector3.h>#include <MRCMisc/exports.h>#include <stdbool.h>#include <stddef.h>Go to the source code of this file.
Typedefs | |
| typedef struct MR_AABBTree | MR_AABBTree |
| typedef struct MR_Dipoles | MR_Dipoles |
| typedef struct MR_Mesh | MR_Mesh |
| typedef struct MR_Dipole | MR_Dipole |
| typedef struct MR_AABBTree MR_AABBTree |
Single oriented point or two oppositely charged points close together, representing a mesh part (one or more triangles) https://www.dgp.toronto.edu/projects/fast-winding-numbers/fast-winding-numbers-for-soups-and-clouds-siggraph-2018-barill-et-al.pdf Generated from class MR::Dipole. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_Dipoles MR_Dipoles |
| MRC_API MR_Dipoles * MR_calcDipoles_2 | ( | const MR_AABBTree * | tree, |
| const MR_Mesh * | mesh ) |
Generated from function MR::calcDipoles. Parameter tree can not be null. It is a single object. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Dipoles_Destroy() to free it when you're done using it.
| MRC_API void MR_calcDipoles_3 | ( | MR_Dipoles * | dipoles, |
| const MR_AABBTree * | tree, | ||
| const MR_Mesh * | mesh ) |
calculates dipoles for given mesh and AABB-tree Generated from function MR::calcDipoles. Parameter dipoles can not be null. It is a single object. Parameter tree can not be null. It is a single object. Parameter mesh can not be null. It is a single object.
| MRC_API float MR_calcFastWindingNumber | ( | const MR_Dipoles * | dipoles, |
| const MR_AABBTree * | tree, | ||
| const MR_Mesh * | mesh, | ||
| const MR_Vector3f * | q, | ||
| float | beta, | ||
| MR_FaceId | skipFace ) |
compute approximate winding number at
| q; | |
| beta | determines the precision of the approximation: the more the better, recommended value 2 or more; if distance from q to the center of some triangle group is more than beta times the distance from the center to most distance triangle in the group then we use approximate formula |
| skipFace | this triangle (if it is close to |
| q) | will be skipped from summation Generated from function MR::calcFastWindingNumber. Parameter dipoles can not be null. It is a single object. Parameter tree can not be null. It is a single object. Parameter mesh can not be null. It is a single object. Parameter q can not be null. It is a single object. |
| MRC_API bool MR_Dipole_addIfGoodApprox | ( | const MR_Dipole * | _this, |
| const MR_Vector3f * | q, | ||
| float | betaSq, | ||
| float * | addTo ) |
returns true if this dipole is good approximation for a point
| q; | and adds the contribution of this dipole to the winding number at point |
| q | to |
| addTo | Generated from method MR::Dipole::addIfGoodApprox. Parameter _this can not be null. It is a single object. Parameter q can not be null. It is a single object. Parameter addTo can not be null. It is a single object. |
Generated from method MR::Dipole::operator=. Parameter _this can not be null. It is a single object. Parameter _other 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.
| MRC_API MR_Dipole * MR_Dipole_ConstructFrom | ( | MR_Vector3f | pos, |
| float | area, | ||
| MR_Vector3f | dirArea, | ||
| float | rr ) |
Constructs MR::Dipole elementwise. The reference to the parameter pos might be preserved in the constructed object. The reference to the parameter dirArea might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_Dipole_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.
Generated from constructor MR::Dipole::Dipole. Parameter _other 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 the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_Dipole_Destroy() to free it when you're done using it.
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Dipole_Destroy() to free it when you're done using it.
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Dipole_DestroyArray(). Use MR_Dipole_OffsetMutablePtr() and MR_Dipole_OffsetPtr() to access the array elements.
Destroys a heap-allocated instance of MR_Dipole. Does nothing if the pointer is null.
Destroys a heap-allocated array of MR_Dipole. Does nothing if the pointer is null.
Returns a pointer to a member variable of class MR::Dipole named area. 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 const MR_Vector3f * MR_Dipole_Get_dirArea | ( | const MR_Dipole * | _this | ) |
Returns a pointer to a member variable of class MR::Dipole named dirArea. 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 const MR_Vector3f * MR_Dipole_Get_pos | ( | const MR_Dipole * | _this | ) |
Returns a pointer to a member variable of class MR::Dipole named pos. 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.
Returns a pointer to a member variable of class MR::Dipole named rr. 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.
Returns a mutable pointer to a member variable of class MR::Dipole named area. 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_Vector3f * MR_Dipole_GetMutable_dirArea | ( | MR_Dipole * | _this | ) |
Returns a mutable pointer to a member variable of class MR::Dipole named dirArea. 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_Vector3f * MR_Dipole_GetMutable_pos | ( | MR_Dipole * | _this | ) |
Returns a mutable pointer to a member variable of class MR::Dipole named pos. 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.
Returns a mutable pointer to a member variable of class MR::Dipole named rr. 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.
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.
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.
Modifies a member variable of class MR::Dipole named area. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in area.
| MRC_API void MR_Dipole_Set_dirArea | ( | MR_Dipole * | _this, |
| MR_Vector3f | value ) |
Modifies a member variable of class MR::Dipole named dirArea. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element dirArea. When this function is called, this object will drop object references it had previously in dirArea.
| MRC_API void MR_Dipole_Set_pos | ( | MR_Dipole * | _this, |
| MR_Vector3f | value ) |
Modifies a member variable of class MR::Dipole named pos. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element pos. When this function is called, this object will drop object references it had previously in pos.
Modifies a member variable of class MR::Dipole named rr. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in rr.