Dart DocumentationthreeWebGLGeometry

WebGLGeometry class

class WebGLGeometry {

 int id;

 int _vertices;

 List faces3, faces4;
 int materialIndex, numMorphTargets, numMorphNormals;

 var geometryGroups, geometryGroupsList;

 bool __webglInit;

 bool __inittedArrays;
 Float32List __vertexArray,
              __normalArray,
              __tangentArray,
              __colorArray,
              __lineDistanceArray,
              __uvArray,
              __uv2Array,
              __skinVertexAArray,
              __skinVertexBArray,
              __skinIndexArray,
              __skinWeightArray;
 Uint16List __faceArray, __lineArray;
 List<Float32List> __morphTargetsArrays, __morphNormalsArrays;
 int __webglFaceCount, __webglLineCount, __webglParticleCount, __webglVertexCount;

 List __sortArray;

 var __webglCustomAttributesList;

 gl.Buffer __webglVertexBuffer,
             __webglNormalBuffer,
             __webglTangentBuffer,
             __webglColorBuffer,
             __webglLineDistanceBuffer,
             __webglUVBuffer,
             __webglUV2Buffer,

             __webglSkinVertexABuffer,
             __webglSkinVertexBBuffer,
             __webglSkinIndicesBuffer,
             __webglSkinWeightsBuffer,

             __webglFaceBuffer,
             __webglLineBuffer;

 List <gl.Buffer> __webglMorphTargetsBuffers, __webglMorphNormalsBuffers;

 Geometry _geometry;

 WebGLGeometry({ this.faces3,
                 this.faces4,
                 this.materialIndex: 0,
                 int vertices: null,
                 this.numMorphTargets: 0,
                 this.numMorphNormals: 0}) : _vertices = vertices;

 WebGLGeometry._internal(Geometry geometry)
 :   _geometry = geometry,
     _vertices = null, // Delegate vertices to geometry
     id = geometry.id,
     materialIndex = 0,
     numMorphTargets = 0,
     numMorphNormals = 0;

 factory WebGLGeometry.from(Geometry geometry) {
   if (geometry["__webglBuffer"] == null) {
     var __webglBuffer = new WebGLGeometry._internal(geometry);
     geometry["__webglBuffer"] = __webglBuffer;
   }

   return geometry["__webglBuffer"];
 }

 // This is weird since vertices can be a List from geometry or a number
 set vertices(int n) => _vertices = n;
 get vertices {
   if (_vertices == null && _geometry != null) {
     return _geometry.vertices;
   }
   return _vertices;
 }

 get offsets => (_geometry as BufferGeometry).offsets;
 get attributes => (_geometry as BufferGeometry).attributes;

 get lineDistances => _geometry.lineDistances;
 getBoolData(key) => _geometry.__data.containsKey(key) ? _geometry[key] : false;

 get verticesNeedUpdate => getBoolData("verticesNeedUpdate");
 set verticesNeedUpdate(bool flag) { _geometry["verticesNeedUpdate"] = flag; }

 get morphTargetsNeedUpdate => getBoolData("morphTargetsNeedUpdate");
 set morphTargetsNeedUpdate(bool flag) { _geometry["morphTargetsNeedUpdate"] = flag; }

 get elementsNeedUpdate => getBoolData("elementsNeedUpdate");
 set elementsNeedUpdate(bool flag) { _geometry["elementsNeedUpdate"] = flag; }

 get uvsNeedUpdate => getBoolData("uvsNeedUpdate");
 set uvsNeedUpdate(bool flag) { _geometry["uvsNeedUpdate"] = flag; }

 get normalsNeedUpdate => getBoolData("normalsNeedUpdate");
 set normalsNeedUpdate(bool flag) { _geometry["normalsNeedUpdate"] = flag; }

 get tangentsNeedUpdate => getBoolData("tangentsNeedUpdate");
 set tangentsNeedUpdate(bool flag) { _geometry["tangentsNeedUpdate"] = flag; }

 get colorsNeedUpdate => getBoolData("colorsNeedUpdate");
 set colorsNeedUpdate(bool flag) { _geometry["colorsNeedUpdate"] = flag; }

 get lineDistancesNeedUpdate => getBoolData("lineDistancesNeedUpdate");
 set lineDistancesNeedUpdate(bool flag) { _geometry["lineDistancesNeedUpdate"] = flag; }

 get buffersNeedUpdate => getBoolData("buffersNeedUpdate");
 set buffersNeedUpdate(bool flag) { _geometry["buffersNeedUpdate"] = flag; }

 get morphTargets => _geometry.morphTargets;
 get morphNormals => _geometry.morphNormals;

 get faces => _geometry.faces;

 get isDynamic => _geometry.isDynamic;

 get faceVertexUvs => _geometry.faceVertexUvs;
 get colors => _geometry.colors;
 get normals => _geometry.normals;
 get skinIndices => _geometry.skinIndices;
 get skinWeights => _geometry.skinWeights;
 get skinVerticesA => _geometry["skinVerticesA"];
 get skinVerticesB => _geometry["skinVerticesB"];

 get hasTangents => _geometry.hasTangents;

 get isBufferGeometry => _geometry is BufferGeometry;
}

Constructors

new WebGLGeometry({List faces3, List faces4, int materialIndex: 0, int vertices: null, int numMorphTargets: 0, int numMorphNormals: 0}) #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
WebGLGeometry({ this.faces3,
               this.faces4,
               this.materialIndex: 0,
               int vertices: null,
               this.numMorphTargets: 0,
               this.numMorphNormals: 0}) : _vertices = vertices;

factory WebGLGeometry.from(Geometry geometry) #

factory WebGLGeometry.from(Geometry geometry) {
 if (geometry["__webglBuffer"] == null) {
   var __webglBuffer = new WebGLGeometry._internal(geometry);
   geometry["__webglBuffer"] = __webglBuffer;
 }

 return geometry["__webglBuffer"];
}

Properties

final attributes #

get attributes => (_geometry as BufferGeometry).attributes;

var buffersNeedUpdate #

get buffersNeedUpdate => getBoolData("buffersNeedUpdate");
set buffersNeedUpdate(bool flag) { _geometry["buffersNeedUpdate"] = flag; }

final colors #

get colors => _geometry.colors;

var colorsNeedUpdate #

get colorsNeedUpdate => getBoolData("colorsNeedUpdate");
set colorsNeedUpdate(bool flag) { _geometry["colorsNeedUpdate"] = flag; }

var elementsNeedUpdate #

get elementsNeedUpdate => getBoolData("elementsNeedUpdate");
set elementsNeedUpdate(bool flag) { _geometry["elementsNeedUpdate"] = flag; }

final faces #

get faces => _geometry.faces;

List faces3 #

List faces3

List faces4 #

List faces3, faces4

final faceVertexUvs #

get faceVertexUvs => _geometry.faceVertexUvs;

var geometryGroups #

var geometryGroups

var geometryGroupsList #

var geometryGroups, geometryGroupsList

final hasTangents #

get hasTangents => _geometry.hasTangents;

int id #

int id

final isBufferGeometry #

get isBufferGeometry => _geometry is BufferGeometry;

final isDynamic #

get isDynamic => _geometry.isDynamic;

final lineDistances #

get lineDistances => _geometry.lineDistances;

var lineDistancesNeedUpdate #

get lineDistancesNeedUpdate => getBoolData("lineDistancesNeedUpdate");
set lineDistancesNeedUpdate(bool flag) { _geometry["lineDistancesNeedUpdate"] = flag; }

int materialIndex #

int materialIndex

final morphNormals #

get morphNormals => _geometry.morphNormals;

final morphTargets #

get morphTargets => _geometry.morphTargets;

var morphTargetsNeedUpdate #

get morphTargetsNeedUpdate => getBoolData("morphTargetsNeedUpdate");
set morphTargetsNeedUpdate(bool flag) { _geometry["morphTargetsNeedUpdate"] = flag; }

final normals #

get normals => _geometry.normals;

var normalsNeedUpdate #

get normalsNeedUpdate => getBoolData("normalsNeedUpdate");
set normalsNeedUpdate(bool flag) { _geometry["normalsNeedUpdate"] = flag; }

int numMorphNormals #

int materialIndex, numMorphTargets, numMorphNormals

int numMorphTargets #

int materialIndex, numMorphTargets

final offsets #

get offsets => (_geometry as BufferGeometry).offsets;

final skinIndices #

get skinIndices => _geometry.skinIndices;

final skinVerticesA #

get skinVerticesA => _geometry["skinVerticesA"];

final skinVerticesB #

get skinVerticesB => _geometry["skinVerticesB"];

final skinWeights #

get skinWeights => _geometry.skinWeights;

var tangentsNeedUpdate #

get tangentsNeedUpdate => getBoolData("tangentsNeedUpdate");
set tangentsNeedUpdate(bool flag) { _geometry["tangentsNeedUpdate"] = flag; }

var uvsNeedUpdate #

get uvsNeedUpdate => getBoolData("uvsNeedUpdate");
set uvsNeedUpdate(bool flag) { _geometry["uvsNeedUpdate"] = flag; }

var vertices #

get vertices {
 if (_vertices == null && _geometry != null) {
   return _geometry.vertices;
 }
 return _vertices;
}
set vertices(int n) => _vertices = n;

var verticesNeedUpdate #

get verticesNeedUpdate => getBoolData("verticesNeedUpdate");
set verticesNeedUpdate(bool flag) { _geometry["verticesNeedUpdate"] = flag; }

Methods

dynamic getBoolData(key) #

getBoolData(key) => _geometry.__data.containsKey(key) ? _geometry[key] : false;