Up-in-the-Air – blob

You can use Git to clone the repository via the web URL. Download snapshot (zip)
9eefd8dbaf1342183aa66e06203d567c859d2391
[Up-in-the-Air] / addons
1 /**
2  * Text = 3D Text
3  *
4  * parameters = {
5  *  font: <THREE.Font>, // font
6  *
7  *  size: <float>, // size of the text
8  *  depth: <float>, // thickness to extrude text
9  *  curveSegments: <int>, // number of points on the curves
10  *
11  *  bevelEnabled: <bool>, // turn on bevel
12  *  bevelThickness: <float>, // how deep into text bevel goes
13  *  bevelSize: <float>, // how far from text outline (including bevelOffset) is bevel
14  *  bevelOffset: <float> // how far from text outline does bevel start
15  * }
16  */
18 import {
19         ExtrudeGeometry
20 } from 'three';
22 class TextGeometry extends ExtrudeGeometry {
24         constructor( text, parameters = {} ) {
26                 const font = parameters.font;
28                 if ( font === undefined ) {
30                         super(); // generate default extrude geometry
32                 } else {
34                         const shapes = font.generateShapes( text, parameters.size );
36                         // translate parameters to ExtrudeGeometry API
38                         if ( parameters.depth === undefined && parameters.height !== undefined ) {
40                                 console.warn( 'THREE.TextGeometry: .height is now depreciated. Please use .depth instead' ); // @deprecated, r163
42                         }
44                         parameters.depth = parameters.depth !== undefined ?
45                                 parameters.depth : parameters.height !== undefined ?
46                                         parameters.height : 50;
48                         // defaults
50                         if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10;
51                         if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8;
52                         if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false;
54                         super( shapes, parameters );
56                 }
58                 this.type = 'TextGeometry';
60         }
62 }
65 export { TextGeometry };