MeshLib C Docs
Loading...
Searching...
No Matches
MRAlignTextToMesh.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
8
9#include <stdbool.h>
10#include <stddef.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_CurveFunc MR_CurveFunc; // Defined in `#include <MRCMesh/MRCurve.h>`.
17typedef struct MR_GeodesicPath MR_GeodesicPath; // Defined in `#include <MRCMesh/MRSurfacePath.h>`.
18typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
19typedef struct MR_MeshTriPoint MR_MeshTriPoint; // Defined in `#include <MRCMesh/MRMeshTriPoint.h>`.
20typedef struct MR_SymbolMeshParams MR_SymbolMeshParams; // Defined in `#include <MRCSymbolMesh/MRSymbolMesh.h>`.
21typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
22typedef struct MR_std_filesystem_path MR_std_filesystem_path; // Defined in `#include <MRCMisc/std_filesystem_path.h>`.
23typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
24typedef struct MR_std_vector_MR_CurvePoint MR_std_vector_MR_CurvePoint; // Defined in `#include <MRCMisc/std_vector_MR_CurvePoint.h>`.
25typedef struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint; // Defined in `#include <MRCMisc/std_vector_MR_EdgePoint.h>`.
26
27
34
38
45
53
60
68
76
84
91
98
105
112
119
126
133
139
146
153
159
166
173
179
186
193
199
206
207// max font size with 128 << 6 FT_F26Dot6 font size
211
212// Text that will be made mesh
218
219// Text that will be made mesh
226MRC_API void MR_TextMeshAlignParams_Set_text(MR_TextMeshAlignParams *_this, const char *value, const char *value_end);
227
228// Text that will be made mesh
234
235// Detailization of Bezier curves on font glyphs
241
242// Detailization of Bezier curves on font glyphs
247
248// Detailization of Bezier curves on font glyphs
254
255// Additional offset between symbols
256// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
257// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
263
264// Additional offset between symbols
265// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
266// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
272
273// Additional offset between symbols
274// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
275// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
281
282// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
283// note: changing this to non-zero values cause costly calculations
289
290// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
291// note: changing this to non-zero values cause costly calculations
296
297// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
298// note: changing this to non-zero values cause costly calculations
304
305// alignment of the text inside bbox
311
312// alignment of the text inside bbox
318
319// alignment of the text inside bbox
325
326// Path to font file
332
333// Path to font file
339MRC_API void MR_TextMeshAlignParams_Set_pathToFontFile(MR_TextMeshAlignParams *_this, const char *value, const char *value_end);
340
341// Path to font file
347
351
356
360
364
369
373
379
384
389
392
395
402
409
416
423
430
437
443
450
458
466
474
475// Font height, meters
481
482// Font height, meters
487
488// Font height, meters
494
495// Text mesh inside and outside offset of curve's surface
501
502// Text mesh inside and outside offset of curve's surface
507
508// Text mesh inside and outside offset of curve's surface
514
515// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
521
522// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
527
528// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
534
541
547
554
561
567
574
578
583
589MRC_API MR_BendTextAlongCurveParams *MR_BendTextAlongCurveParams_ConstructFrom(MR_PassBy symbolMesh_pass_by, MR_SymbolMeshParams *symbolMesh, float pivotCurveTime, MR_Vector2f pivotBoxPoint, float fontHeight, float surfaceOffset, bool fontBasedSizeCalc, bool periodicCurve, bool stretch);
590
594
598
603
606
609
616
624
631
639
647
648#ifdef __cplusplus
649} // extern "C"
650#endif
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_std_vector_MR_CurvePoint MR_std_vector_MR_CurvePoint
Definition MRAlignContoursToMesh.h:22
struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint
Definition MRAlignContoursToMesh.h:23
struct MR_CurveFunc MR_CurveFunc
Definition MRAlignContoursToMesh.h:14
struct MR_GeodesicPath MR_GeodesicPath
Definition MRAlignContoursToMesh.h:16
MRC_API const bool * MR_BendTextAlongCurveParams_Get_periodicCurve(const MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_fontBasedSizeCalc(MR_BendTextAlongCurveParams *_this, bool value)
MRC_API void MR_TextMeshAlignParams_Set_symbolsDistanceAdditionalOffset(MR_TextMeshAlignParams *_this, MR_Vector2f value)
MRC_API void MR_TextMeshAlignParams_Set_fontDetalization(MR_TextMeshAlignParams *_this, int value)
MRC_API MR_expected_MR_Mesh_std_string * MR_bendTextAlongCurve_MR_CurveFunc(const MR_CurveFunc *curve, const MR_BendTextAlongCurveParams *params)
MRC_API bool * MR_BendTextAlongCurveParams_GetMutable_stretch(MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_fontHeight(MR_BendTextAlongCurveParams *_this, float value)
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_TextMeshAlignParams *_other)
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_MutableStaticDowncastFrom_MR_SymbolMeshParams(MR_SymbolMeshParams *object)
MRC_API MR_SymbolMeshParams * MR_TextMeshAlignParams_MutableUpcastTo_MR_SymbolMeshParams(MR_TextMeshAlignParams *object)
MRC_API MR_expected_MR_Mesh_std_string * MR_alignTextToMesh(const MR_Mesh *mesh, const MR_TextMeshAlignParams *params)
MRC_API const MR_std_filesystem_path * MR_TextMeshAlignParams_Get_pathToFontFile(const MR_TextMeshAlignParams *_this)
MRC_API void MR_TextMeshAlignParams_DestroyArray(const MR_TextMeshAlignParams *_this)
Destroys a heap-allocated array of MR_TextMeshAlignParams. Does nothing if the pointer is null.
MRC_API void MR_TextMeshAlignParams_Destroy(const MR_TextMeshAlignParams *_this)
Destroys a heap-allocated instance of MR_TextMeshAlignParams. Does nothing if the pointer is null.
struct MR_TextMeshAlignParams MR_TextMeshAlignParams
Definition MRAlignTextToMesh.h:33
MRC_API void MR_TextMeshAlignParams_Set_surfaceOffset(MR_TextMeshAlignParams *_this, float value)
MRC_API void MR_TextMeshAlignParams_Set_direction(MR_TextMeshAlignParams *_this, MR_Vector3f value)
MRC_API const float * MR_BendTextAlongCurveParams_Get_pivotCurveTime(const MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_surfaceOffset(MR_BendTextAlongCurveParams *_this, float value)
MRC_API const MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_OffsetPtr(const MR_BendTextAlongCurveParams *ptr, ptrdiff_t i)
MRC_API MR_expected_MR_Mesh_std_string * MR_bendTextAlongSurfacePath_MR_GeodesicPath(const MR_Mesh *mesh, const MR_GeodesicPath *path, const MR_BendTextAlongCurveParams *params)
MRC_API float * MR_BendTextAlongCurveParams_GetMutable_surfaceOffset(MR_BendTextAlongCurveParams *_this)
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_AssignFromAnother(MR_TextMeshAlignParams *_this, MR_PassBy _other_pass_by, MR_TextMeshAlignParams *_other)
MRC_API const float * MR_TextMeshAlignParams_Get_MaxGeneratedFontHeight(void)
MRC_API float * MR_TextMeshAlignParams_GetMutable_textMaximumMovement(MR_TextMeshAlignParams *_this)
MRC_API MR_Vector3f * MR_TextMeshAlignParams_GetMutable_direction(MR_TextMeshAlignParams *_this)
MRC_API const MR_Vector2f * MR_TextMeshAlignParams_Get_pivotPoint(const MR_TextMeshAlignParams *_this)
MRC_API const MR_std_string * MR_TextMeshAlignParams_Get_text(const MR_TextMeshAlignParams *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_bendTextAlongCurve_std_vector_MR_CurvePoint(const MR_std_vector_MR_CurvePoint *curve, const MR_BendTextAlongCurveParams *params)
MRC_API void MR_TextMeshAlignParams_Set_fontBasedSizeCalc(MR_TextMeshAlignParams *_this, bool value)
MRC_API MR_SymbolMeshParams * MR_BendTextAlongCurveParams_GetMutable_symbolMesh(MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_periodicCurve(MR_BendTextAlongCurveParams *_this, bool value)
MRC_API float * MR_BendTextAlongCurveParams_GetMutable_fontHeight(MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_stretch(MR_BendTextAlongCurveParams *_this, bool value)
MRC_API const float * MR_TextMeshAlignParams_Get_surfaceOffset(const MR_TextMeshAlignParams *_this)
MRC_API MR_Vector2f * MR_TextMeshAlignParams_GetMutable_pivotPoint(MR_TextMeshAlignParams *_this)
MRC_API MR_Vector2f * MR_TextMeshAlignParams_GetMutable_symbolsDistanceAdditionalOffset(MR_TextMeshAlignParams *_this)
MRC_API const float * MR_BendTextAlongCurveParams_Get_surfaceOffset(const MR_BendTextAlongCurveParams *_this)
MRC_API const MR_SymbolMeshParams * MR_BendTextAlongCurveParams_Get_symbolMesh(const MR_BendTextAlongCurveParams *_this)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_BendTextAlongCurveParams *_other)
struct MR_BendTextAlongCurveParams MR_BendTextAlongCurveParams
Definition MRAlignTextToMesh.h:37
MRC_API const MR_Vector3f *const * MR_TextMeshAlignParams_Get_textNormal(const MR_TextMeshAlignParams *_this)
MRC_API void MR_TextMeshAlignParams_Set_pathToFontFile(MR_TextMeshAlignParams *_this, const char *value, const char *value_end)
MRC_API void MR_TextMeshAlignParams_Set_fontHeight(MR_TextMeshAlignParams *_this, float value)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_DefaultConstruct(void)
MRC_API const MR_Vector3f ** MR_TextMeshAlignParams_GetMutable_textNormal(MR_TextMeshAlignParams *_this)
MRC_API void MR_TextMeshAlignParams_Set_textNormal(MR_TextMeshAlignParams *_this, const MR_Vector3f *value)
MRC_API void MR_BendTextAlongCurveParams_Set_symbolMesh(MR_BendTextAlongCurveParams *_this, MR_PassBy value_pass_by, MR_SymbolMeshParams *value)
MRC_API MR_expected_MR_Mesh_std_string * MR_bendTextAlongSurfacePath_std_vector_MR_EdgePoint(const MR_Mesh *mesh, const MR_std_vector_MR_EdgePoint *path, const MR_BendTextAlongCurveParams *params)
MRC_API const float * MR_TextMeshAlignParams_Get_fontHeight(const MR_TextMeshAlignParams *_this)
MRC_API const float * MR_BendTextAlongCurveParams_Get_fontHeight(const MR_BendTextAlongCurveParams *_this)
MRC_API const MR_TextMeshAlignParams * MR_TextMeshAlignParams_StaticDowncastFrom_MR_SymbolMeshParams(const MR_SymbolMeshParams *object)
MRC_API void MR_BendTextAlongCurveParams_Set_pivotCurveTime(MR_BendTextAlongCurveParams *_this, float value)
MRC_API const MR_MeshTriPoint * MR_TextMeshAlignParams_Get_startPoint(const MR_TextMeshAlignParams *_this)
MRC_API const MR_Vector2f * MR_BendTextAlongCurveParams_Get_pivotBoxPoint(const MR_BendTextAlongCurveParams *_this)
MRC_API const bool * MR_TextMeshAlignParams_Get_fontBasedSizeCalc(const MR_TextMeshAlignParams *_this)
MRC_API bool * MR_BendTextAlongCurveParams_GetMutable_periodicCurve(MR_BendTextAlongCurveParams *_this)
MRC_API const bool * MR_BendTextAlongCurveParams_Get_fontBasedSizeCalc(const MR_BendTextAlongCurveParams *_this)
MRC_API bool * MR_BendTextAlongCurveParams_GetMutable_fontBasedSizeCalc(MR_BendTextAlongCurveParams *_this)
MRC_API MR_MeshTriPoint * MR_TextMeshAlignParams_GetMutable_startPoint(MR_TextMeshAlignParams *_this)
MRC_API float * MR_TextMeshAlignParams_GetMutable_symbolsThicknessOffsetModifier(MR_TextMeshAlignParams *_this)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_OffsetMutablePtr(MR_BendTextAlongCurveParams *ptr, ptrdiff_t i)
MRC_API MR_AlignType * MR_TextMeshAlignParams_GetMutable_align(MR_TextMeshAlignParams *_this)
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_OffsetMutablePtr(MR_TextMeshAlignParams *ptr, ptrdiff_t i)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_AssignFromAnother(MR_BendTextAlongCurveParams *_this, MR_PassBy _other_pass_by, MR_BendTextAlongCurveParams *_other)
MRC_API void MR_BendTextAlongCurveParams_Destroy(const MR_BendTextAlongCurveParams *_this)
Destroys a heap-allocated instance of MR_BendTextAlongCurveParams. Does nothing if the pointer is nul...
MRC_API void MR_TextMeshAlignParams_Set_text(MR_TextMeshAlignParams *_this, const char *value, const char *value_end)
MRC_API float * MR_BendTextAlongCurveParams_GetMutable_pivotCurveTime(MR_BendTextAlongCurveParams *_this)
MRC_API void MR_BendTextAlongCurveParams_Set_pivotBoxPoint(MR_BendTextAlongCurveParams *_this, MR_Vector2f value)
MRC_API void MR_TextMeshAlignParams_Set_pivotPoint(MR_TextMeshAlignParams *_this, MR_Vector2f value)
MRC_API float * MR_TextMeshAlignParams_GetMutable_surfaceOffset(MR_TextMeshAlignParams *_this)
MRC_API void MR_BendTextAlongCurveParams_DestroyArray(const MR_BendTextAlongCurveParams *_this)
Destroys a heap-allocated array of MR_BendTextAlongCurveParams. Does nothing if the pointer is null.
MRC_API const float * MR_TextMeshAlignParams_Get_symbolsThicknessOffsetModifier(const MR_TextMeshAlignParams *_this)
MRC_API void MR_TextMeshAlignParams_Set_align(MR_TextMeshAlignParams *_this, MR_AlignType value)
MRC_API void MR_TextMeshAlignParams_Set_startPoint(MR_TextMeshAlignParams *_this, const MR_MeshTriPoint *value)
MRC_API float * MR_TextMeshAlignParams_GetMutable_fontHeight(MR_TextMeshAlignParams *_this)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_ConstructFrom(MR_PassBy symbolMesh_pass_by, MR_SymbolMeshParams *symbolMesh, float pivotCurveTime, MR_Vector2f pivotBoxPoint, float fontHeight, float surfaceOffset, bool fontBasedSizeCalc, bool periodicCurve, bool stretch)
MRC_API const MR_Vector3f * MR_TextMeshAlignParams_Get_direction(const MR_TextMeshAlignParams *_this)
MRC_API MR_BendTextAlongCurveParams * MR_BendTextAlongCurveParams_DefaultConstructArray(size_t num_elems)
MRC_API void MR_TextMeshAlignParams_Set_textMaximumMovement(MR_TextMeshAlignParams *_this, float value)
struct MR_SymbolMeshParams MR_SymbolMeshParams
Definition MRAlignTextToMesh.h:20
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_DefaultConstructArray(size_t num_elems)
MRC_API bool * MR_TextMeshAlignParams_GetMutable_fontBasedSizeCalc(MR_TextMeshAlignParams *_this)
MRC_API MR_TextMeshAlignParams * MR_TextMeshAlignParams_DefaultConstruct(void)
MRC_API int * MR_TextMeshAlignParams_GetMutable_fontDetalization(MR_TextMeshAlignParams *_this)
MRC_API const float * MR_TextMeshAlignParams_Get_textMaximumMovement(const MR_TextMeshAlignParams *_this)
MRC_API const MR_AlignType * MR_TextMeshAlignParams_Get_align(const MR_TextMeshAlignParams *_this)
MRC_API const MR_Vector2f * MR_TextMeshAlignParams_Get_symbolsDistanceAdditionalOffset(const MR_TextMeshAlignParams *_this)
MRC_API MR_Vector2f * MR_BendTextAlongCurveParams_GetMutable_pivotBoxPoint(MR_BendTextAlongCurveParams *_this)
MRC_API const bool * MR_BendTextAlongCurveParams_Get_stretch(const MR_BendTextAlongCurveParams *_this)
MRC_API const MR_TextMeshAlignParams * MR_TextMeshAlignParams_OffsetPtr(const MR_TextMeshAlignParams *ptr, ptrdiff_t i)
MRC_API void MR_TextMeshAlignParams_Set_symbolsThicknessOffsetModifier(MR_TextMeshAlignParams *_this, float value)
MRC_API MR_std_filesystem_path * MR_TextMeshAlignParams_GetMutable_pathToFontFile(MR_TextMeshAlignParams *_this)
MRC_API const MR_SymbolMeshParams * MR_TextMeshAlignParams_UpcastTo_MR_SymbolMeshParams(const MR_TextMeshAlignParams *object)
MRC_API MR_std_string * MR_TextMeshAlignParams_GetMutable_text(MR_TextMeshAlignParams *_this)
MRC_API const int * MR_TextMeshAlignParams_Get_fontDetalization(const MR_TextMeshAlignParams *_this)
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:24
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_std_string MR_std_string
Definition MRCtm.h:32
struct MR_std_filesystem_path MR_std_filesystem_path
Definition MRPly.h:20
MR_AlignType
Definition MRSymbolMesh.h:20
MR_PassBy
Definition common.h:23
#define MRC_API
Definition include/MRCMisc/exports.h:11
Generated from class MR::Vector2f.
Definition MRVector2.h:36
Generated from class MR::Vector3f.
Definition MRVector3.h:47