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_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
18typedef struct MR_MeshTriPoint MR_MeshTriPoint; // Defined in `#include <MRCMesh/MRMeshTriPoint.h>`.
19typedef struct MR_SymbolMeshParams MR_SymbolMeshParams; // Defined in `#include <MRCSymbolMesh/MRSymbolMesh.h>`.
20typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
21typedef struct MR_std_filesystem_path MR_std_filesystem_path; // Defined in `#include <MRCMisc/std_filesystem_path.h>`.
22typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
23typedef struct MR_std_vector_MR_CurvePoint MR_std_vector_MR_CurvePoint; // Defined in `#include <MRCMisc/std_vector_MR_CurvePoint.h>`.
24typedef struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint; // Defined in `#include <MRCMisc/std_vector_MR_EdgePoint.h>`.
25
26
33
37
44
52
59
67
75
83
90
97
104
111
118
125
132
138
145
152
158
165
172
178
185
192
198
205
206// max font size with 128 << 6 FT_F26Dot6 font size
210
211// Text that will be made mesh
217
218// Text that will be made mesh
225MRC_API void MR_TextMeshAlignParams_Set_text(MR_TextMeshAlignParams *_this, const char *value, const char *value_end);
226
227// Text that will be made mesh
233
234// Detailization of Bezier curves on font glyphs
240
241// Detailization of Bezier curves on font glyphs
246
247// Detailization of Bezier curves on font glyphs
253
254// Additional offset between symbols
255// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
256// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
262
263// Additional offset between symbols
264// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
265// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
271
272// Additional offset between symbols
273// X: In symbol size: 1.0f adds one "space", 0.5 adds half "space".
274// Y: In symbol size: 1.0f adds one base height, 0.5 adds half base height
280
281// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
282// note: changing this to non-zero values cause costly calculations
288
289// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
290// note: changing this to non-zero values cause costly calculations
295
296// Symbols thickness will be modified by this value (newThickness = modifier*baseSymbolHeight + defaultThickness)
297// note: changing this to non-zero values cause costly calculations
303
304// alignment of the text inside bbox
310
311// alignment of the text inside bbox
317
318// alignment of the text inside bbox
324
325// Path to font file
331
332// Path to font file
338MRC_API void MR_TextMeshAlignParams_Set_pathToFontFile(MR_TextMeshAlignParams *_this, const char *value, const char *value_end);
339
340// Path to font file
346
350
355
359
363
368
372
377
380
383
390
397
404
411
418
425
431
438
446
454
462
463// Font height, meters
469
470// Font height, meters
475
476// Font height, meters
482
483// Text mesh inside and outside offset of curve's surface
489
490// Text mesh inside and outside offset of curve's surface
495
496// Text mesh inside and outside offset of curve's surface
502
503// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
509
510// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
515
516// If true then size of each symbol will be calculated from font height, otherwise - on bounding box of the text
522
529
535
542
549
555
562
566
571
577MRC_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);
578
582
586
591
594
597
604
612
619
629
637
638#ifdef __cplusplus
639} // extern "C"
640#endif
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_std_vector_MR_CurvePoint MR_std_vector_MR_CurvePoint
Definition MRAlignContoursToMesh.h:21
struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint
Definition MRAlignContoursToMesh.h:22
struct MR_CurveFunc MR_CurveFunc
Definition MRAlignContoursToMesh.h:14
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_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:32
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 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:36
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 const float * MR_TextMeshAlignParams_Get_fontHeight(const MR_TextMeshAlignParams *_this)
MRC_API const float * MR_BendTextAlongCurveParams_Get_fontHeight(const MR_BendTextAlongCurveParams *_this)
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 MR_expected_MR_Mesh_std_string * MR_bendTextAlongSurfacePath_5(const MR_Mesh *mesh, const MR_MeshTriPoint *start, const MR_std_vector_MR_EdgePoint *path, const MR_MeshTriPoint *end, const MR_BendTextAlongCurveParams *params)
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)
MRC_API MR_expected_MR_Mesh_std_string * MR_bendTextAlongSurfacePath_3(const MR_Mesh *mesh, const MR_std_vector_MR_EdgePoint *path, const MR_BendTextAlongCurveParams *params)
struct MR_SymbolMeshParams MR_SymbolMeshParams
Definition MRAlignTextToMesh.h:19
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:21
Generated from class MR::Vector2f.
Definition MRVector2.h:36
Generated from class MR::Vector3f.
Definition MRVector3.h:47