TubeBufferGeometry

De OSWiki
Aller à la navigation Aller à la recherche

Crée un tube qui est extrudé en suivant une courbe 3D.

Exemple

<source lang="javascript"> function CustomSinCurve( scale ) {

THREE.Curve.call( this );
//Si scale n'est pas défini scale =1 sinon c'est scale
this.scale = ( scale === undefined ) ? 1 : scale;

}

//Crée un nouvel objet prototype avec un prototype donné et des propriétés données. CustomSinCurve.prototype = Object.create( THREE.Curve.prototype ); //Définir le constructeur de l'objet CustomSinCurve.prototype.constructor = CustomSinCurve; //Fonction pour ajouter un point dans la courbe CustomSinCurve.prototype.getPoint = function ( t ) {

 var tx = t * 3 - 1.5;
 var ty = Math.sin( 2 * Math.PI * t );
 var tz = 0;
 return new THREE.Vector3( tx, ty, tz ).multiplyScalar( this.scale );

};

//Créer un nouvel objet avec le constructeur var path = new CustomSinCurve( 10 ); //Créer la géométrie correspondante à la courbe puis un matériau et enfin le mesh var geometry = new THREE.TubeBufferGeometry( path, 20, 2, 8, false ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var mesh = new THREE.Mesh( geometry, material ); scene.add( mesh ); </source>

Constructeur

<source lang="javascript"> TubeBufferGeometry(path, tubularSegments, radius, radialSegments, closed) </source>

path — Courbe - Un chemin qui hérite de la classe de base Curve.

tubularSegments — Integer - Le nombre entier de segments qui composent le tube, par défaut cette valeur est 64

radius — Float - Rayon du tube, par défaut le rayon est 1

radialSegments — Integer - Nombre entier de segments qui composent la section, par défaut cette valeur est 8

closed — Booléen - le tube est ouvert ou fermé, par défaut c'est false ⇒ ouvert.

Propriétés

.parameters Un objet avec tous les paramètres qui sont utilisés pour générer la géométrie (voir le constructeur pour les paramètres).

.tangents Tableau de vecteur tangents