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#ifdef __cplusplus
6extern "C" {
7#endif
8
9typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
10typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
11
12
13// Z is symmetry axis of this torus
14// points - optional out points of main circle
22MRC_API MR_Mesh *MR_makeTorus(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
23
24// creates torus without inner half faces
25// main application - testing fillHole and Stitch
33MRC_API MR_Mesh *MR_makeOuterHalfTorus(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
34
35// creates torus with inner protruding half as undercut
36// main application - testing fixUndercuts
45MRC_API MR_Mesh *MR_makeTorusWithUndercut(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
46
47// creates torus with some handed-up points
48// main application - testing fixSpikes and Relax
57MRC_API MR_Mesh *MR_makeTorusWithSpikes(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
58
59// creates torus with empty sectors
60// main application - testing Components
68MRC_API MR_Mesh *MR_makeTorusWithComponents(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
69
70// creates torus with empty sectors
71// main application - testing Components
79MRC_API MR_Mesh *MR_makeTorusWithSelfIntersections(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points);
80
81#ifdef __cplusplus
82} // extern "C"
83#endif
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:25
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
MRC_API MR_Mesh * MR_makeTorusWithSelfIntersections(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeOuterHalfTorus(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithUndercut(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithSpikes(const float *primaryRadius, const float *secondaryRadiusInner, const float *secondaryRadiusOuter, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorus(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_Mesh * MR_makeTorusWithComponents(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
#define MRC_API
Definition exports.h:11