MeshLib C Docs
Loading...
Searching...
No Matches
MRTorus.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/exports.h>
4
5#include <stdint.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
12typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
13
14
15// Z is symmetry axis of this torus
16// points - optional out points of main circle
24MRC_API MR_Mesh *MR_makeTorus(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
25
26// creates torus without inner half faces
27// main application - testing fillHole and Stitch
35MRC_API MR_Mesh *MR_makeOuterHalfTorus(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
36
37// creates torus with inner protruding half as undercut
38// main application - testing fixUndercuts
47MRC_API MR_Mesh *MR_makeTorusWithUndercut(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
48
49// creates torus with some handed-up points
50// main application - testing fixSpikes and Relax
59MRC_API MR_Mesh *MR_makeTorusWithSpikes(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
60
61// creates torus with empty sectors
62// main application - testing Components
70MRC_API MR_Mesh *MR_makeTorusWithComponents(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
71
72// creates torus with empty sectors
73// main application - testing Components
81MRC_API MR_Mesh *MR_makeTorusWithSelfIntersections(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points);
82
83#ifdef __cplusplus
84} // extern "C"
85#endif
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:26
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API MR_Mesh * MR_makeTorusWithSelfIntersections(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeOuterHalfTorus(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithUndercut(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithSpikes(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorus(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithComponents(const float *primaryRadius, const float *secondaryRadius, const int32_t *primaryResolution, const int32_t *secondaryResolution, MR_std_vector_MR_Vector3f *points)
#define MRC_API
Definition exports.h:11