@Override protected void doRender(RenderContext rc) { // Don't render anything if the shape is not visible. if (!this.intersectsFrustum(rc)) { return; } // Select the currently active attributes. Don't render anything if the attributes are unspecified. this.determineActiveAttributes(rc); if (this.activeAttributes == null) { return; } // Keep track of the drawable count to determine whether or not this shape has enqueued drawables. int drawableCount = rc.drawableCount(); if (rc.pickMode) { this.pickedObjectId = rc.nextPickedObjectId(); this.pickColor = PickedObject.identifierToUniqueColor(this.pickedObjectId, this.pickColor); } // Enqueue drawables for processing on the OpenGL thread. this.makeDrawable(rc); // Enqueue a picked object that associates the shape's drawables with its picked object ID. if (rc.pickMode && rc.drawableCount() != drawableCount) { rc.offerPickedObject(PickedObject.fromRenderable(this.pickedObjectId, this, rc.currentLayer)); } }
int drawableCount = rc.drawableCount(); if (rc.pickMode) { renderData.pickedObjectId = rc.nextPickedObjectId(); if (rc.pickMode && rc.drawableCount() != drawableCount) { rc.offerPickedObject(PickedObject.fromRenderable(renderData.pickedObjectId, this, rc.currentLayer));
int drawableCount = rc.drawableCount(); if (rc.pickMode) { this.pickedObjectId = rc.nextPickedObjectId(); if (rc.pickMode && rc.drawableCount() != drawableCount) { rc.offerPickedObject(PickedObject.fromRenderable(this.pickedObjectId, this, rc.currentLayer));