MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshNormals.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_FaceNormals MR_FaceNormals; // Defined in `#include <MRCMesh/MRVector.h>`.
13typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
14typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
15typedef struct MR_Vector4f MR_Vector4f; // Defined in `#include <MRCMesh/MRVector4.h>`.
16typedef struct MR_Vector_std_array_MR_Vector3f_3_MR_FaceId MR_Vector_std_array_MR_Vector3f_3_MR_FaceId; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
18
19
22
27
31
36
41
45
50
54
59
62MRC_API MR_MeshNormals *MR_MeshNormals_ConstructFrom(MR_PassBy faceNormals_pass_by, MR_FaceNormals *faceNormals, MR_PassBy vertNormals_pass_by, MR_VertCoords *vertNormals);
63
66
69
73
76
79
84
90
95
101
108
114
121
122#ifdef __cplusplus
123} // extern "C"
124#endif
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API MR_MeshNormals * MR_MeshNormals_DefaultConstruct(void)
MRC_API MR_MeshNormals * MR_MeshNormals_DefaultConstructArray(size_t num_elems)
struct MR_MeshNormals MR_MeshNormals
Generated from class MR::MeshNormals.
Definition MRMeshNormals.h:21
struct MR_Vector_std_array_MR_Vector3f_3_MR_FaceId MR_Vector_std_array_MR_Vector3f_3_MR_FaceId
Definition MRMeshNormals.h:16
MRC_API MR_FaceNormals * MR_computePerFaceNormals(const MR_Mesh *mesh)
MRC_API MR_VertCoords * MR_computePerVertNormals(const MR_Mesh *mesh)
MRC_API MR_MeshNormals * MR_MeshNormals_OffsetMutablePtr(MR_MeshNormals *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_FaceNormals MR_FaceNormals
Definition MRMeshNormals.h:12
MRC_API void MR_MeshNormals_Set_faceNormals(MR_MeshNormals *_this, MR_PassBy value_pass_by, MR_FaceNormals *value)
MRC_API const MR_FaceNormals * MR_MeshNormals_Get_faceNormals(const MR_MeshNormals *_this)
MRC_API MR_MeshNormals * MR_computeMeshNormals(const MR_Mesh *mesh)
MRC_API MR_MeshNormals * MR_MeshNormals_AssignFromAnother(MR_MeshNormals *_this, MR_PassBy _other_pass_by, MR_MeshNormals *_other)
MRC_API MR_VertCoords * MR_computePerVertPseudoNormals(const MR_Mesh *mesh)
MRC_API void MR_MeshNormals_DestroyArray(const MR_MeshNormals *_this)
Destroys a heap-allocated array of MR_MeshNormals. Does nothing if the pointer is null.
MRC_API MR_MeshNormals * MR_MeshNormals_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshNormals *_other)
MRC_API void MR_computePerFaceNormals4(const MR_Mesh *mesh, MR_Vector4f *faceNormals, MR_uint64_t size)
MRC_API const MR_VertCoords * MR_MeshNormals_Get_vertNormals(const MR_MeshNormals *_this)
MRC_API const MR_MeshNormals * MR_MeshNormals_OffsetPtr(const MR_MeshNormals *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FaceNormals * MR_MeshNormals_GetMutable_faceNormals(MR_MeshNormals *_this)
MRC_API MR_VertCoords * MR_MeshNormals_GetMutable_vertNormals(MR_MeshNormals *_this)
MRC_API void MR_MeshNormals_Set_vertNormals(MR_MeshNormals *_this, MR_PassBy value_pass_by, MR_VertCoords *value)
MRC_API void MR_MeshNormals_Destroy(const MR_MeshNormals *_this)
Destroys a heap-allocated instance of MR_MeshNormals. Does nothing if the pointer is null.
MRC_API MR_MeshNormals * MR_MeshNormals_ConstructFrom(MR_PassBy faceNormals_pass_by, MR_FaceNormals *faceNormals, MR_PassBy vertNormals_pass_by, MR_VertCoords *vertNormals)
MRC_API MR_Vector_std_array_MR_Vector3f_3_MR_FaceId * MR_computePerCornerNormals(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *creases)
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
size_t size() const
Definition MRVector4.h:51