oxihuman-morph 0.1.2

Parametric morphology engine for human body generation — targets, blendshapes, FACS
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
// Auto-split part 5 of oxihuman-morph lib.rs
// Do not edit directly — generated by workstream B refactor

#[path = "child_morph.rs"]
pub mod child_morph;
pub use child_morph::{
    cm_height_scale, cm_limb_scale, cm_progress, cm_set_age, cm_to_json, new_child_morph,
    ChildMorph, ChildMorphConfig,
};

#[path = "adolescent_morph.rs"]
pub mod adolescent_morph;
pub use adolescent_morph::{
    adol_hip_delta, adol_progress, adol_set_age, adol_shoulder_delta, adol_to_json,
    new_adolescent_morph, AdolSex, AdolescentMorph, AdolescentMorphConfig,
};

#[path = "elderly_morph.rs"]
pub mod elderly_morph;
pub use elderly_morph::{
    em_height_loss, em_kyphosis, em_progress, em_set_age, em_skin_sag, em_to_json,
    new_elderly_morph, ElderlyMorph, ElderlyMorphConfig,
};

#[path = "athletic_build_morph.rs"]
pub mod athletic_build_morph;
pub use athletic_build_morph::{
    ab_muscle_weight, ab_set_intensity, ab_shoulder_delta, ab_to_json, ab_waist_taper,
    new_athletic_build_morph, AthleticBuildConfig, AthleticBuildMorph,
};

#[path = "ectomorph_morph.rs"]
pub mod ectomorph_morph;
pub use ectomorph_morph::{
    ect_hip_weight, ect_limb_weight, ect_set_intensity, ect_shoulder_weight, ect_to_json,
    new_ectomorph_morph, EctomorphConfig, EctomorphMorph,
};

#[path = "mesomorph_morph.rs"]
pub mod mesomorph_morph;
pub use mesomorph_morph::{
    meso_chest_delta, meso_muscle_tone, meso_set_intensity, meso_to_json, meso_waist_ratio,
    new_mesomorph_morph, MesomorphConfig, MesomorphMorph,
};

#[path = "endomorph_morph.rs"]
pub mod endomorph_morph;
pub use endomorph_morph::{
    endo_belly_weight, endo_face_roundness, endo_limb_girth, endo_set_intensity, endo_to_json,
    new_endomorph_morph, EndomorphConfig, EndomorphMorph,
};

#[path = "android_proportion.rs"]
pub mod android_proportion;
pub use android_proportion::{
    andr_belly, andr_hip_narrow, andr_set_intensity, andr_to_json, andr_upper_mass,
    new_android_proportion, AndroidProportion, AndroidProportionConfig,
};

#[path = "gynoid_proportion.rs"]
pub mod gynoid_proportion;
pub use gynoid_proportion::{
    gyn_hip_fullness, gyn_set_intensity, gyn_thigh_girth, gyn_to_json, gyn_upper_slim,
    new_gynoid_proportion, GynoidProportion, GynoidProportionConfig,
};

#[path = "hourglass_proportion.rs"]
pub mod hourglass_proportion;
pub use hourglass_proportion::{
    hg_bust, hg_hips, hg_set_intensity, hg_to_json as hourglass_to_json, hg_waist, hg_whr,
    new_hourglass_proportion, HourglassConfig, HourglassProportion,
};

#[path = "inverted_triangle_morph.rs"]
pub mod inverted_triangle_morph;
pub use inverted_triangle_morph::{
    inv_chest_width, inv_hip_narrow, inv_set_intensity, inv_shoulder_broad, inv_shoulder_hip_ratio,
    inv_to_json, new_inverted_triangle_morph, InvertedTriangleConfig, InvertedTriangleMorph,
};

#[path = "rectangle_body_morph.rs"]
pub mod rectangle_body_morph;
pub use rectangle_body_morph::{
    new_rectangle_body_morph, rect_set_intensity, rect_shoulder_hip_balance, rect_straightness,
    rect_to_json, rect_waist_fullness, RectangleBodyConfig, RectangleBodyMorph,
};

#[path = "pear_shape_morph.rs"]
pub mod pear_shape_morph;
pub use pear_shape_morph::{
    new_pear_shape_morph, pear_hip_shoulder_ratio, pear_hip_width, pear_set_intensity,
    pear_shoulder_slim, pear_thigh_fullness, pear_to_json, PearShapeConfig, PearShapeMorph,
};

#[path = "apple_shape_morph.rs"]
pub mod apple_shape_morph;
pub use apple_shape_morph::{
    apple_abdomen, apple_chest, apple_limb_slim, apple_set_intensity, apple_to_json,
    apple_waist_scale, new_apple_shape_morph, AppleShapeConfig, AppleShapeMorph,
};

#[path = "posture_morph.rs"]
pub mod posture_morph;
pub use posture_morph::{
    new_posture_morph, posture_apply_weights, posture_set_forward_lean, posture_set_lateral_lean,
    posture_set_sway, posture_to_json, PostureMorph, PostureMorphConfig,
};

#[path = "slouch_morph.rs"]
pub mod slouch_morph;
pub use slouch_morph::{
    new_slouch_morph, slouch_apply, slouch_set_degree, slouch_set_head_forward,
    slouch_set_shoulder_round, slouch_to_json, SlouchMorph, SlouchMorphConfig,
};

#[path = "kyphosis_morph.rs"]
pub mod kyphosis_morph;
pub use kyphosis_morph::{
    kyphosis_evaluate, kyphosis_set_apex, kyphosis_set_curve, kyphosis_set_spread,
    kyphosis_to_json, new_kyphosis_morph, KyphosisMorph, KyphosisMorphConfig,
};

#[path = "lordosis_morph.rs"]
pub mod lordosis_morph;
pub use lordosis_morph::{
    lordosis_evaluate, lordosis_set_anterior_tilt, lordosis_set_curve, lordosis_set_lumbar_apex,
    lordosis_to_json, new_lordosis_morph, LordosisMorph, LordosisMorphConfig,
};

#[path = "scoliosis_morph.rs"]
pub mod scoliosis_morph;
pub use scoliosis_morph::{
    new_scoliosis_morph, scoliosis_displacement, scoliosis_set_direction, scoliosis_set_lateral,
    scoliosis_set_rotation, scoliosis_to_json, ScoliosisMorph, ScoliosisMorphConfig,
};

#[path = "flat_foot_morph.rs"]
pub mod flat_foot_morph;
pub use flat_foot_morph::{
    flat_foot_arch_height, flat_foot_set_arch_collapse, flat_foot_set_pronation,
    flat_foot_set_toe_splay, flat_foot_to_json, new_flat_foot_morph, FlatFootMorph,
    FlatFootMorphConfig,
};

#[path = "high_arch_morph.rs"]
pub mod high_arch_morph;
pub use high_arch_morph::{
    high_arch_height, high_arch_set_claw_toe, high_arch_set_rise, high_arch_set_supination,
    high_arch_to_json, new_high_arch_morph, HighArchMorph, HighArchMorphConfig,
};

#[path = "knock_knee_morph.rs"]
pub mod knock_knee_morph;
pub use knock_knee_morph::{
    knock_knee_separation, knock_knee_set_eversion, knock_knee_set_torsion, knock_knee_set_valgus,
    knock_knee_to_json, new_knock_knee_morph, KnockKneeMorph, KnockKneeMorphConfig,
};

#[path = "bow_leg_morph.rs"]
pub mod bow_leg_morph;
pub use bow_leg_morph::{
    bow_leg_bow_out, bow_leg_set_inversion, bow_leg_set_torsion, bow_leg_set_varus,
    bow_leg_to_json, new_bow_leg_morph, BowLegMorph, BowLegMorphConfig,
};

#[path = "pigeon_toe_morph.rs"]
pub mod pigeon_toe_morph;
pub use pigeon_toe_morph::{
    new_pigeon_toe_morph, pigeon_toe_set_femoral, pigeon_toe_set_intoeing,
    pigeon_toe_set_metatarsus, pigeon_toe_to_json, pigeon_toe_total_rotation, PigeonToeMorph,
    PigeonToeMorphConfig,
};

#[path = "limb_length_morph.rs"]
pub mod limb_length_morph;
pub use limb_length_morph::{
    limb_leg_discrepancy, limb_length_to_json, limb_set_left_arm, limb_set_left_leg,
    limb_set_right_arm, limb_set_right_leg, new_limb_length_morph, LimbLengthMorph,
    LimbLengthMorphConfig,
};

#[path = "shoulder_height_morph.rs"]
pub mod shoulder_height_morph;
pub use shoulder_height_morph::{
    new_shoulder_height_morph, shoulder_height_asymmetry, shoulder_height_set_left,
    shoulder_height_set_right, shoulder_height_set_tilt, shoulder_height_to_json,
    ShoulderHeightMorph, ShoulderHeightMorphConfig,
};

#[path = "hip_tilt_morph.rs"]
pub mod hip_tilt_morph;
pub use hip_tilt_morph::{
    hip_tilt_magnitude, hip_tilt_set_anterior, hip_tilt_set_lateral, hip_tilt_set_rotation,
    hip_tilt_to_json, new_hip_tilt_morph, HipTiltMorph, HipTiltMorphConfig,
};

#[path = "head_tilt_morph.rs"]
pub mod head_tilt_morph;
pub use head_tilt_morph::{
    head_tilt_magnitude, head_tilt_set_axial, head_tilt_set_forward, head_tilt_set_lateral,
    head_tilt_to_json, new_head_tilt_morph, HeadTiltMorph, HeadTiltMorphConfig,
};

#[path = "facial_asymmetry_morph.rs"]
pub mod facial_asymmetry_morph;
pub use facial_asymmetry_morph::{
    facial_asym_score, facial_asym_set_horizontal_shift, facial_asym_set_left_scale,
    facial_asym_set_right_scale, facial_asym_set_vertical_offset, facial_asymmetry_to_json,
    new_facial_asymmetry_morph, FacialAsymmetryMorph, FacialAsymmetryMorphConfig,
};

#[path = "jaw_asymmetry_morph.rs"]
pub mod jaw_asymmetry_morph;
pub use jaw_asymmetry_morph::{
    jaw_asym_deviation_magnitude, jaw_asym_set_chin_shift, jaw_asym_set_lateral,
    jaw_asym_set_ramus, jaw_asymmetry_to_json, new_jaw_asymmetry_morph, JawAsymmetryMorph,
    JawAsymmetryMorphConfig,
};

#[path = "eyelash_morph.rs"]
pub mod eyelash_morph;
pub use eyelash_morph::{
    eyelash_morph_to_json, eyelash_set_curl, eyelash_set_density, eyelash_set_length,
    new_eyelash_morph, EyelashMorph,
};

#[path = "eyebrow_density_morph.rs"]
pub mod eyebrow_density_morph;
pub use eyebrow_density_morph::{
    ebrow_density_set_density, ebrow_density_set_fullness, ebrow_density_set_gap_fill,
    eyebrow_density_morph_to_json, new_eyebrow_density_morph, EyebrowDensityMorph,
};

#[path = "beard_density_morph.rs"]
pub mod beard_density_morph;
pub use beard_density_morph::{
    beard_density_morph_to_json, beard_density_set_coarseness, beard_density_set_coverage,
    beard_density_set_density, beard_density_visual_thickness, new_beard_density_morph,
    BeardDensityMorph,
};

#[path = "mustache_morph.rs"]
pub mod mustache_morph;
pub use mustache_morph::{
    mustache_morph_to_json, mustache_set_density, mustache_set_droop, mustache_set_width,
    mustache_style_score, new_mustache_morph, MustacheMorph,
};

#[path = "sideburn_morph.rs"]
pub mod sideburn_morph;
pub use sideburn_morph::{
    new_sideburn_morph, sideburn_area_estimate, sideburn_morph_to_json, sideburn_set_length,
    sideburn_set_taper, sideburn_set_width, SideburnMorph,
};

#[path = "arm_hair_morph.rs"]
pub mod arm_hair_morph;
pub use arm_hair_morph::{
    arm_hair_morph_to_json, arm_hair_set_darkness, arm_hair_set_density, arm_hair_set_length,
    arm_hair_visibility, new_arm_hair_morph, ArmHairMorph,
};

#[path = "scalp_hairline_morph.rs"]
pub mod scalp_hairline_morph;
pub use scalp_hairline_morph::{
    hairline_blend, hairline_is_receded, hairline_overall_weight, hairline_recession_symmetric,
    hairline_set_position, new_hairline_morph, HairlineMorph,
};

#[path = "hair_part_morph.rs"]
pub mod hair_part_morph;
pub use hair_part_morph::{
    hair_part_infer_style, hair_part_morph_to_json, hair_part_set_depth, hair_part_set_offset,
    hair_part_set_style, new_hair_part_morph, HairPartMorph, HairPartStyle,
};

#[path = "hair_volume_morph.rs"]
pub mod hair_volume_morph;
pub use hair_volume_morph::{
    hair_volume_fullness, hair_volume_morph_to_json, hair_volume_set_crown_lift,
    hair_volume_set_side_puff, hair_volume_set_volume, new_hair_volume_morph, HairVolumeMorph,
};

#[path = "hair_wave_morph.rs"]
pub mod hair_wave_morph;
pub use hair_wave_morph::{
    hair_wave_displacement_at, hair_wave_morph_to_json, hair_wave_set_amplitude,
    hair_wave_set_frequency, hair_wave_set_tightness, new_hair_wave_morph,
    CurlPattern as HairWaveCurlPattern, HairWaveMorph,
};

#[path = "skin_texture_scale_morph.rs"]
pub mod skin_texture_scale_morph;
pub use skin_texture_scale_morph::{
    new_skin_texture_scale_morph, skin_tex_scale_aspect_ratio, skin_tex_scale_set_u,
    skin_tex_scale_set_uniform, skin_tex_scale_set_v, skin_texture_scale_morph_to_json,
    SkinTextureScaleMorph,
};

#[path = "skin_gloss_morph.rs"]
pub mod skin_gloss_morph;
pub use skin_gloss_morph::{
    new_skin_gloss_morph, skin_gloss_effective, skin_gloss_morph_to_json, skin_gloss_set_oiliness,
    skin_gloss_set_roughness, skin_gloss_set_specularity, SkinGlossMorph,
};

#[path = "skin_subsurface_morph.rs"]
pub mod skin_subsurface_morph;
pub use skin_subsurface_morph::{
    new_skin_subsurface_morph, skin_sss_mean_depth, skin_sss_set_depth, skin_sss_set_red_depth,
    skin_sss_set_rgb_depths, skin_subsurface_morph_to_json, SkinSubsurfaceMorph,
};

#[path = "skin_translucency_morph.rs"]
pub mod skin_translucency_morph;
pub use skin_translucency_morph::{
    new_skin_translucency_morph, skin_trans_light_bleed, skin_trans_set_thin_skin,
    skin_trans_set_translucency, skin_trans_set_vein_visibility, skin_translucency_morph_to_json,
    SkinTranslucencyMorph,
};

#[path = "iris_size_morph.rs"]
pub mod iris_size_morph;
pub use iris_size_morph::{
    iris_size_mean, iris_size_morph_to_json, iris_size_set_diameter, iris_size_set_left,
    iris_size_set_right, new_iris_size_morph, IrisSizeMorph,
};

#[path = "pupil_dilation_morph.rs"]
pub mod pupil_dilation_morph;
pub use pupil_dilation_morph::{
    new_pupil_dilation_morph, pupil_apply_light_response, pupil_dilation_morph_to_json,
    pupil_set_dilation, pupil_set_left, pupil_set_right, PupilDilationMorph,
};

#[path = "tongue_tip_morph.rs"]
pub mod tongue_tip_morph;
pub use tongue_tip_morph::{
    new_tongue_tip_morph, tongue_tip_morph_to_json, tongue_tip_set_curl,
    tongue_tip_set_lateral_spread, tongue_tip_set_protrusion, tongue_tip_set_sharpness,
    TongueTipMorph,
};

#[path = "tongue_dorsum_morph.rs"]
pub mod tongue_dorsum_morph;
pub use tongue_dorsum_morph::{
    new_tongue_dorsum_morph, tongue_dorsum_morph_to_json, tongue_dorsum_set_arch,
    tongue_dorsum_set_groove, tongue_dorsum_set_posterior_raise, tongue_dorsum_set_width,
    TongueDorsumMorph,
};

#[path = "uvula_morph.rs"]
pub mod uvula_morph;
pub use uvula_morph::{
    new_uvula_morph, uvula_morph_to_json, uvula_set_elevation, uvula_set_length,
    uvula_set_tip_bulge, uvula_set_width, uvula_surface_area, UvulaMorph,
};

#[path = "soft_palate_morph.rs"]
pub mod soft_palate_morph;
pub use soft_palate_morph::{
    new_soft_palate_morph, soft_palate_is_sealed, soft_palate_morph_to_json,
    soft_palate_set_curvature, soft_palate_set_raise, soft_palate_set_tension,
    soft_palate_set_width, SoftPalateMorph,
};

#[path = "pharynx_morph.rs"]
pub mod pharynx_morph;
pub use pharynx_morph::{
    new_pharynx_morph, pharynx_cross_section, pharynx_morph_to_json, pharynx_set_constriction,
    pharynx_set_epiglottis_tilt, pharynx_set_length, pharynx_set_wall_tension, PharynxMorph,
};

#[path = "vocal_tract_morph.rs"]
pub mod vocal_tract_morph;
pub use vocal_tract_morph::{
    new_vocal_tract_morph, vocal_tract_mean_constriction, vocal_tract_morph_to_json,
    vocal_tract_set_back_constriction, vocal_tract_set_length, vocal_tract_set_lip_rounding,
    vocal_tract_set_mid_constriction, VocalTractMorph,
};

#[path = "larynx_position_morph.rs"]
pub mod larynx_position_morph;
pub use larynx_position_morph::{
    larynx_position_morph_to_json, larynx_set_anterior_posterior, larynx_set_height,
    larynx_set_tilt, larynx_tract_lengthening, new_larynx_position_morph, LarynxPositionMorph,
};

#[path = "thyroid_cartilage_morph.rs"]
pub mod thyroid_cartilage_morph;
pub use thyroid_cartilage_morph::{
    new_thyroid_cartilage_morph, thyroid_cartilage_morph_to_json, thyroid_set_angle,
    thyroid_set_height, thyroid_set_prominence, thyroid_set_width, ThyroidCartilageMorph,
};

#[path = "cricoid_cartilage_morph.rs"]
pub mod cricoid_cartilage_morph;
pub use cricoid_cartilage_morph::{
    cricoid_cartilage_morph_to_json, cricoid_ring_circumference, cricoid_set_arch_height,
    cricoid_set_arch_width, cricoid_set_posterior_plate_height, cricoid_set_ring_radius,
    new_cricoid_cartilage_morph, CricoidCartilageMorph,
};

#[path = "arytenoid_morph.rs"]
pub mod arytenoid_morph;
pub use arytenoid_morph::{
    arytenoid_is_phonating, arytenoid_morph_to_json, arytenoid_set_adduction,
    arytenoid_set_asymmetry, arytenoid_set_rotation, arytenoid_set_tilt, new_arytenoid_morph,
    ArytenoidMorph,
};

#[path = "glottis_morph.rs"]
pub mod glottis_morph;
pub use glottis_morph::{
    glottis_is_closed, glottis_morph_to_json, glottis_set_mucosal_wave, glottis_set_opening,
    glottis_set_posterior_gap, glottis_set_tension, new_glottis_morph, GlottisMorph,
};

#[path = "trachea_morph.rs"]
pub mod trachea_morph;
pub use trachea_morph::{
    new_trachea_morph, trachea_morph_to_json, trachea_set_calibre, trachea_set_curvature,
    trachea_set_length, trachea_set_wall_thickness, trachea_volume, TracheaMorph,
};

#[path = "diaphragm_morph.rs"]
pub mod diaphragm_morph;
pub use diaphragm_morph::{
    diaphragm_effective_dome, diaphragm_morph_to_json, diaphragm_set_contraction,
    diaphragm_set_descent, diaphragm_set_dome_height, diaphragm_set_excursion_range,
    new_diaphragm_morph, DiaphragmMorph,
};

#[path = "rib_cage_morph.rs"]
pub mod rib_cage_morph;
pub use rib_cage_morph::{
    new_rib_cage_morph, rib_cage_mean_expansion, rib_cage_morph_to_json, rib_cage_set_expansion,
    rib_cage_set_lateral_flare, rib_cage_set_lower_chest, rib_cage_set_upper_chest, RibCageMorph,
};

#[path = "abdomen_expand_morph.rs"]
pub mod abdomen_expand_morph;
pub use abdomen_expand_morph::{
    abdomen_expand_mean, abdomen_expand_morph_to_json, abdomen_expand_set_expansion,
    abdomen_expand_set_lateral_bulge, abdomen_expand_set_lower, abdomen_expand_set_upper,
    new_abdomen_expand_morph, AbdomenExpandMorph,
};

#[path = "pelvic_floor_morph.rs"]
pub mod pelvic_floor_morph;
pub use pelvic_floor_morph::{
    new_pelvic_floor_morph, pelvic_floor_elevation, pelvic_floor_morph_to_json,
    pelvic_floor_set_contraction, pelvic_floor_set_descent, pelvic_floor_set_levator_tension,
    pelvic_floor_set_perineal_body, PelvicFloorMorph,
};

#[path = "spine_curve_morph.rs"]
pub mod spine_curve_morph;
pub use spine_curve_morph::{
    new_spine_curve_morph, scm_set_cervical_lordosis, scm_set_lumbar_lordosis,
    scm_set_overall_flex, scm_set_thoracic_kyphosis, scm_total_angle_rad,
    spine_curve_morph_to_json, SpineCurveMorph,
};

#[path = "intervertebral_morph.rs"]
pub mod intervertebral_morph;
pub use intervertebral_morph::{
    intervertebral_morph_to_json, ivm_effective_height, ivm_set_cervical_height,
    ivm_set_degeneration, ivm_set_lumbar_height, ivm_set_thoracic_height, new_intervertebral_morph,
    IntervertebralMorph,
};

#[path = "sacrum_morph.rs"]
pub mod sacrum_morph;
pub use sacrum_morph::{
    new_sacrum_morph, sac_pelvic_inlet, sac_set_curvature, sac_set_promontory_depth, sac_set_tilt,
    sac_set_width, sacrum_morph_to_json, SacrumMorph,
};

#[path = "coccyx_morph.rs"]
pub mod coccyx_morph;
pub use coccyx_morph::{
    coc_set_deviation, coc_set_flexion, coc_set_length, coc_set_prominence, coc_tip_displacement,
    coccyx_morph_to_json, new_coccyx_morph, CoccyxMorph,
};

#[path = "sternum_morph.rs"]
pub mod sternum_morph;
pub use sternum_morph::{
    new_sternum_morph, sternum_blend, sternum_is_protruding, sternum_overall_weight,
    sternum_set_protrusion, SternumMorph,
};

#[path = "clavicle_morph.rs"]
pub mod clavicle_morph;
pub use clavicle_morph::{
    clavicle_blend, clavicle_is_prominent, clavicle_overall_weight, clavicle_set_prominence,
    new_clavicle_morph, ClavicleMorph,
};

#[path = "scapula_morph.rs"]
pub mod scapula_morph;
pub use scapula_morph::{
    new_scapula_morph, scap_set_rotation, scap_set_size, scap_set_spine_prominence,
    scap_set_winging, scap_visibility, scapula_morph_to_json, ScapulaMorph,
};

#[path = "humerus_morph.rs"]
pub mod humerus_morph;
pub use humerus_morph::{
    hum_elbow_breadth, hum_set_epicondyle_width, hum_set_head_size, hum_set_length,
    hum_set_shaft_curvature, humerus_morph_to_json, new_humerus_morph, HumerusMorph,
};

#[path = "radius_ulna_morph.rs"]
pub mod radius_ulna_morph;
pub use radius_ulna_morph::{
    new_radius_ulna_morph, radius_ulna_morph_to_json, ru_set_bowing, ru_set_length,
    ru_set_radius_ratio, ru_set_styloid_prominence, ru_wrist_width, RadiusUlnaMorph,
};

#[path = "carpals_morph.rs"]
pub mod carpals_morph;
pub use carpals_morph::{
    carp_set_height, carp_set_spacing, carp_set_tunnel_depth, carp_set_width, carp_tunnel_area,
    carpals_morph_to_json, new_carpals_morph, CarpalsMorph,
};

#[path = "femur_morph.rs"]
pub mod femur_morph;
pub use femur_morph::{
    fem_q_angle, fem_set_anteversion, fem_set_condyle_width, fem_set_length, fem_set_neck_angle,
    femur_morph_to_json, new_femur_morph, FemurMorph,
};

#[path = "tibia_fibula_morph.rs"]
pub mod tibia_fibula_morph;
pub use tibia_fibula_morph::{
    new_tibia_fibula_morph, tf_foot_progression, tf_set_fibula_offset, tf_set_length,
    tf_set_malleolus_width, tf_set_tibial_torsion, tibia_fibula_morph_to_json, TibiaFibulaMorph,
};

#[path = "tarsals_morph.rs"]
pub mod tarsals_morph;
pub use tarsals_morph::{
    new_tarsals_morph, tars_contact_area, tars_set_arch_height, tars_set_calcaneus_length,
    tars_set_midfoot_width, tars_set_talus_tilt, tarsals_morph_to_json, TarsalsMorph,
};

#[path = "skull_morph.rs"]
pub mod skull_morph;
pub use skull_morph::{
    new_skull_morph, skl_cranial_index, skl_set_cranial_height, skl_set_cranial_length,
    skl_set_cranial_width, skl_set_frontal_slope, skl_set_occipital_projection,
    skull_morph_to_json, SkullMorph,
};

#[path = "mandible_morph.rs"]
pub mod mandible_morph;
pub use mandible_morph::{
    mand_set_body_width, mand_set_gonial_angle, mand_set_ramus_height, mand_set_symphysis_height,
    mand_squareness, mandible_morph_to_json, new_mandible_morph, MandibleMorph,
};

#[path = "orbital_morph.rs"]
pub mod orbital_morph;
pub use orbital_morph::{
    new_orbital_morph, orb_aperture_area, orb_set_depth as orbital_set_depth, orb_set_height,
    orb_set_rim_prominence, orb_set_tilt as orbital_set_tilt, orb_set_width, orbital_morph_to_json,
    OrbitalMorph,
};

#[path = "nose_ala_morph.rs"]
pub mod nose_ala_morph;
pub use nose_ala_morph::{
    nala_set_curvature, nala_set_flare, nala_set_thickness, nala_set_width, nala_surface_area,
    new_nose_ala_morph, nose_ala_morph_to_json, NoseAlaMorph,
};

#[path = "nose_root_morph.rs"]
pub mod nose_root_morph;
pub use nose_root_morph::{
    new_nose_root_morph, nose_root_morph_to_json, nroot_aspect_ratio, nroot_set_bridge_continuity,
    nroot_set_depth, nroot_set_height, nroot_set_width, NoseRootMorph,
};

#[path = "nasal_septum_morph.rs"]
pub mod nasal_septum_morph;
pub use nasal_septum_morph::{
    nasal_septum_morph_to_json, new_nasal_septum_morph, nsept_deviation_magnitude,
    nsept_set_caudal_angle, nsept_set_deviation, nsept_set_dorsal_height, nsept_set_thickness,
    NasalSeptumMorph,
};

#[path = "nasal_spine_morph.rs"]
pub mod nasal_spine_morph;
pub use nasal_spine_morph::{
    nasal_spine_morph_to_json, new_nasal_spine_morph, nspine_set_angulation, nspine_set_base_width,
    nspine_set_projection, nspine_set_prominence, nspine_volume_estimate, NasalSpineMorph,
};

#[path = "columella_morph.rs"]
pub mod columella_morph;
pub use columella_morph::{
    columella_blend, columella_is_hanging, columella_overall_weight, columella_set_inclination,
    columella_set_width, new_columella_morph, ColumellaMorph,
};

#[path = "philtrum_morph.rs"]
pub mod philtrum_morph;
pub use philtrum_morph::{
    new_philtrum_morph, philtrum_blend as philtrum_morph_blend, philtrum_is_deep,
    philtrum_overall_weight, philtrum_set_depth as philtrum_morph_set_depth,
    philtrum_set_width as philtrum_morph_set_width, PhiltrumMorph,
};

#[path = "upper_lip_body_morph.rs"]
pub mod upper_lip_body_morph;
pub use upper_lip_body_morph::{
    new_upper_lip_body_morph, ulb_set_fullness, ulb_set_projection, ulb_set_roll,
    ulb_set_vermilion_height, ulb_volume_estimate, upper_lip_body_morph_to_json, UpperLipBodyMorph,
};

#[path = "lower_lip_body_morph.rs"]
pub mod lower_lip_body_morph;
pub use lower_lip_body_morph::{
    llb_set_fullness, llb_set_labiomental_groove, llb_set_projection, llb_set_vermilion_height,
    llb_volume_estimate, lower_lip_body_morph_to_json, new_lower_lip_body_morph, LowerLipBodyMorph,
};

#[path = "lip_commissure_morph.rs"]
pub mod lip_commissure_morph;
pub use lip_commissure_morph::{
    lcom_effective_angle, lcom_set_angle, lcom_set_depth, lcom_set_downturn, lcom_set_width,
    lip_commissure_morph_to_json, new_lip_commissure_morph, LipCommissureMorph,
};

#[path = "mentolabial_morph.rs"]
pub mod mentolabial_morph;
pub use mentolabial_morph::{
    mentolabial_blend, mentolabial_is_deep, mentolabial_overall_weight, mentolabial_set_depth,
    new_mentolabial_morph, MentolabialMorph,
};

#[path = "malar_eminence_morph.rs"]
pub mod malar_eminence_morph;
pub use malar_eminence_morph::{
    mal_blend, mal_is_prominent, mal_overall_weight, mal_set_left, mal_set_projection,
    mal_set_right, new_malar_eminence_morph, MalarEminenceMorph,
};

#[path = "zygomatic_arch_morph.rs"]
pub mod zygomatic_arch_morph;
pub use zygomatic_arch_morph::{
    new_zygomatic_arch_morph, zygomatic_blend, zygomatic_is_prominent, zygomatic_overall_weight,
    zygomatic_set_prominence, zygomatic_set_width, ZygomaticArchMorph,
};

#[path = "temporal_region_morph.rs"]
pub mod temporal_region_morph;
pub use temporal_region_morph::{
    new_temporal_region_morph, temp_effective_volume, temp_set_hollowing, temp_set_muscle_fullness,
    temp_set_superior_extent, temp_set_width, temporal_region_morph_to_json, TemporalRegionMorph,
};