/* */
/* 215 */ GeomBuffer cache = getCachedGeometry(2, 0.0F, radius, height, xdivision, ydivision, primflags);
/* */
/* 218 */ if (cache != null)
/* */ {
/* 220 */ shape[0] = new Shape3D(cache.getComputedGeometry());
/* 221 */ this.numVerts += cache.getNumVerts();
/* 222 */ this.numTris += cache.getNumTris();
/* */ }
/* */ else {
/* 225 */ gbuf = q.cylinder(height, radius, xdivision, ydivision, outside);
/* */
/* 227 */ shape[0] = new Shape3D(gbuf.getGeom(this.flags));
/* 228 */ this.numVerts += gbuf.getNumVerts();
/* 229 */ this.numTris += gbuf.getNumTris();
/* 230 */ if ((primflags & 0x10) == 0) {
/* 231 */ cacheGeometry(2, 0.0F, radius, height, xdivision, ydivision, primflags, gbuf);
/* */ }
/* */
/* */ }
/* */
/* 236 */ if ((this.flags & 0x40) != 0) {
/* 237 */ shape[0].setCapability(14);
/* 238 */ shape[0].setCapability(15);
/* */ }
/* */
/* 241 */ if ((this.flags & 0x20) != 0) {
/* 242 */ shape[0].setCapability(12);
/* */ }
/* */
/* 245 */ addChild(shape[0]);
/* */
/* 248 */ cache = getCachedGeometry(16, radius, radius, height / 2.0F, xdivision, xdivision, primflags);
/* */
/* 250 */ if (cache != null)
/* */ {
/* 252 */ shape[1] = new Shape3D(cache.getComputedGeometry());
/* 253 */ this.numVerts += cache.getNumVerts();
/* 254 */ this.numTris += cache.getNumTris();
/* */ }
/* */ else {
/* 257 */ gbuf = q.disk(radius, xdivision, height / 2.0D, outside);
/* */
/* 259 */ shape[1] = new Shape3D(gbuf.getGeom(this.flags));
/* 260 */ this.numVerts += gbuf.getNumVerts();
/* 261 */ this.numTris += gbuf.getNumTris();
/* 262 */ if ((primflags & 0x10) == 0) {
/* 263 */ cacheGeometry(16, radius, radius, height / 2.0F, xdivision, xdivision, primflags, gbuf);
/* */ }
/* */
/* */ }
/* */
/* 269 */ if ((this.flags & 0x40) != 0) {
/* 270 */ shape[1].setCapability(14);
/* 271 */ shape[1].setCapability(15);
/* */ }
/* */
/* 274 */ if ((this.flags & 0x20) != 0) {
/* 275 */ shape[1].setCapability(12);
/* */ }
/* */
/* 278 */ addChild(shape[1]);
/* */
/* 281 */ cache = getCachedGeometry(32, radius, radius, -height / 2.0F, xdivision, xdivision, primflags);
/* */
/* 284 */ if (cache != null)
/* */ {
/* 286 */ shape[2] = new Shape3D(cache.getComputedGeometry());
/* 287 */ this.numVerts += cache.getNumVerts();
/* 288 */ this.numTris += cache.getNumTris();
/* */ }
/* */ else {
/* 291 */ gbuf = q.disk(radius, xdivision, -height / 2.0D, !outside);
/* 292 */ shape[2] = new Shape3D(gbuf.getGeom(this.flags));
/* 293 */ this.numVerts += gbuf.getNumVerts();
/* 294 */ this.numTris += gbuf.getNumTris();
/* 295 */ if ((primflags & 0x10) == 0) {
/* 296 */ cacheGeometry(32, radius, radius, -height / 2.0F, xdivision, xdivision, primflags, gbuf);
/* */ }