geo.addDlistUser(this, ra); (geo.getDlistTimeStamp(rdr.rendererBit) != rdr.sharedCtxTimeStamp)) { geo.resourceCreationMask |= rdr.rendererBit; geo.removeDlistUser(this, ra); if (geo.isDlistUserSetEmpty(this)) { rdr.displayListResourceFreeList.add(geo.dlistObj); geo.resourceCreationMask &= ~rdr.rendererBit; geo.freeDlistId();
if (((Morph)this.source).isLive()) { if (this.geometryArrays[i] != null) { this.geometryArrays[i].clearLive(refCount); this.geometryArrays[i].removeMorphUser(this); geo.setLive(inBackgroundGroup, refCount); geo.addMorphUser(this); int texCoordSetCount = this.geometryArrays[0].getTexCoordSetCount(); if (this.geometryArrays[0] instanceof IndexedGeometryArrayRetained) { Mcoord = new float[this.geometryArrays[0].getNumCoordCount()* 3]; Mcolor = new float[this.geometryArrays[0].getNumColorCount()* 3]; else if ((vFormat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4) Mcolor = new float[this.geometryArrays[0].getNumColorCount()* 4]; Mnormal = new float[this.geometryArrays[0].getNumNormalCount() *3]; for (int k = 0; k < texCoordSetCount; k++) { if ((vFormat & GeometryArray.TEXTURE_COORDINATE_2) != 0) MtexCoord[k] = new float[this.geometryArrays[0].getNumTexCoordCount(k) * 2]; else if (((vFormat & GeometryArray.TEXTURE_COORDINATE_3) != 0)) MtexCoord[k] = new float[this.geometryArrays[0].getNumTexCoordCount(k) * 3]; else if (((vFormat & GeometryArray.TEXTURE_COORDINATE_4) != 0)) MtexCoord[k] = new float[this.geometryArrays[0].getNumTexCoordCount(k) * 4]; mga.incrComputeGeoBounds();// This compute the bbox if dirty mga.decrComputeGeoBounds();
texCoordSetCount = geometryArrays[0].getTexCoordSetCount(); int count = 0; if (geometryArrays[0] instanceof IndexedGeometryArrayRetained){ count = geometryArrays[0].getNumCoordCount(); } else { count = geometryArrays[0].validVertexCount; count = geometryArrays[0].getNumColorCount(); } else { count = geometryArrays[0].validVertexCount; count = geometryArrays[0].getNumNormalCount(); } else { count = geometryArrays[0].validVertexCount; for (k = 0; k < texCoordSetCount; k++) { if (geometryArrays[0] instanceof IndexedGeometryArrayRetained){ count = geometryArrays[0].getNumTexCoordCount(k); } else { count = geometryArrays[0].validVertexCount; if (geometryArrays[j] instanceof IndexedGeometryArrayRetained) { initialVertex = 0; count = geometryArrays[j].getNumCoordCount(); initialVertex = geometryArrays[j].getInitialVertexIndex(); count = geometryArrays[j].validVertexCount;
this.vertexAttrStride = this.vertexAttrStride(); this.stride = this.stride(); this.vertexAttrOffsets = this.vertexAttrOffsets(); this.texCoordSetMapOffset = this.texCoordSetMapOffset(); this.textureOffset = this.textureOffset(); this.colorOffset = this.colorOffset(); this.normalOffset = this.normalOffset(); this.coordinateOffset = this.coordinateOffset();
geometryArrays[i].setLive(inBackgroundGroup, s.refCount); geometryArrays[i].addMorphUser(this); ((GeometryArrayRetained)(morphedGeometryArray.retained)).setLive(inBackgroundGroup, s.refCount); mga.incrComputeGeoBounds(); // This compute the bbox if dirty mga.decrComputeGeoBounds(); localBounds.setWithLock(mga.geoBounds);
computeMinDistance(coordinates, sphere.getCenter(), null, dist, iPnt); esFlag = edgeIntersectSphere(sphere, coordinates[i], coordinates[i+1]); else esFlag = edgeIntersectSphere(sphere, coordinates[i], coordinates[0]); if (esFlag == true) { if (dist != null) { computeMinDistance(coordinates, sphere.getCenter(), null, if (pointIntersectPolygon2D( pNrm, coordinates, q)) { if (dist != null) { computeMinDistance(coordinates, sphere.getCenter(), pNrm,
computeMinDistance(coordinates, polytope.getCenter(), null, double distance = generalStandardSimplexSolver(problemTableau, Float.NEGATIVE_INFINITY); if(debug) { computeMinDistance(coordinates, polytope.getCenter(), null,
geometryArrays[i].clearLive(s.refCount); geometryArrays[i].removeMorphUser(this); mga.clearLive( s.refCount);
if (intersectPolygon(pCoor, coordinates)) { if (dist != null) { computeMinDistance(pCoor, boxCenter, null, dist, iPnt); pCoor[2].set(box.upper.x, box.upper.y, box.upper.z); pCoor[3].set(box.upper.x, box.lower.y, box.upper.z); if (intersectPolygon(pCoor, coordinates)) { if (dist != null) { computeMinDistance(pCoor, boxCenter, null, dist, iPnt); pCoor[2].set(box.lower.x, box.lower.y, box.lower.z); pCoor[3].set(box.upper.x, box.lower.y, box.lower.z); if (intersectPolygon(pCoor, coordinates)) { if (dist != null) { computeMinDistance(pCoor, boxCenter, null, dist, iPnt); pCoor[2].set(box.lower.x, box.upper.y, box.lower.z); pCoor[3].set(box.lower.x, box.upper.y, box.upper.z); if (intersectPolygon(pCoor, coordinates)) { if (dist != null) { computeMinDistance(pCoor, boxCenter, null, dist, iPnt); pCoor[2].set(box.lower.x, box.lower.y, box.upper.z); pCoor[3].set(box.upper.x, box.lower.y, box.upper.z); if (intersectPolygon(pCoor, coordinates)) { if (dist != null) { computeMinDistance(pCoor, boxCenter, null, dist, iPnt); pCoor[2].set(box.lower.x, box.lower.y, box.lower.z);
void buildIndividualDisplayList(RenderAtomListInfo ra, Canvas3D cv, Context ctx) { GeometryArrayRetained geo; geo = (GeometryArrayRetained)ra.geometry(); if ((geo.texCoordSetMap != null) && (geo.texCoordSetMap.length > cv.maxTexCoordSets)) { return; } // Note, the dlistId does not change when renderer is building cv.newDisplayList(ctx, geo.dlistId); // No need to lock when it is indexed geometry since we have // our own copy // Note individual dlist is only created if alpha is not modifiable // so, we don't need any renderMolecule specific information geo.buildGA(cv, ra.renderAtom, false, false, 1.0f, false, null, null); cv.endDisplayList(ctx); }
computeBoundingBox(initialVertexIndex, vertexData); computeBoundingBox(initialCoordIndex, interleavedFloatBufferImpl); } else if((vertexType & PF) != 0) { computeBoundingBox(floatBufferRefCoords); } else if((vertexType & PD) != 0) { computeBoundingBox(doubleBufferRefCoords); computeBoundingBox(initialCoordIndex, interLeavedVertexData); } else if ((vertexType & PF) != 0) { computeBoundingBox(floatRefCoords); } else if ((vertexType & P3F) != 0) { computeBoundingBox(p3fRefCoords); } else if ((vertexType & P3D) != 0) { computeBoundingBox(p3dRefCoords); } else if ((vertexType & PD) != 0) { computeBoundingBox(doubleRefCoords);
boolean toreturn = coplanarTriTri(n1, v0, v1, v2, u0, u1, u2); return toreturn; boolean toreturn = coplanarTriTri(n2, v0, v1, v2, u0, u1, u2); return toreturn;
separateDlistRenderAtomList = r; ((GeometryArrayRetained)r.geometry()).assignDlistId(); renderBin.addGeometryDlist(r);
Object[] retVal; if (mirrorGeometry != null) { ((GeometryArrayRetained)mirrorGeometry).buildGA(cv, ra, isNonUniformScale, updateAlpha, alpha, ignoreVertexColors, xform, nxform);
geo.addDlistUser(this, arr[i]); geo.removeDlistUser(this, arr[i]); (geo.getDlistTimeStamp(cv.canvasBit) != cv.ctxTimeStamp)) { geo.resourceCreationMask |= cv.canvasBit; if (geo.isDlistUserSetEmpty(this)) { if (cv.ctx != null) { canvases[j].displayListResourceFreeList.add(geo.dlistObj); geo.freeDlistId();
geo.buildGA(cv, ra.renderAtom, false, (useAlpha && ((geo.vertexFormat & GeometryArray.COLOR) != 0)),
geo.buildGA(cv, ra.renderAtom, false, (useAlpha && ((geo.vertexFormat & GeometryArray.COLOR) != 0)),