igeo.p
Class PIGraphicsGL

java.lang.Object
  extended by processing.core.PImage
      extended by processing.core.PGraphics
          extended by processing.opengl.PGraphicsOpenGL
              extended by processing.opengl.PGraphics3D
                  extended by igeo.p.PIGraphicsGL
All Implemented Interfaces:
java.lang.Cloneable, processing.core.PConstants

public class PIGraphicsGL
extends processing.opengl.PGraphics3D

A child class of Processing's PGraphic to draw on Processing using OpenGL. This class also manages the IServer to manage all the objects in iGeo.

Author:
Satoru Sugihara

Nested Class Summary
 
Nested classes/interfaces inherited from class processing.opengl.PGraphicsOpenGL
processing.opengl.PGraphicsOpenGL.BaseShader, processing.opengl.PGraphicsOpenGL.ColorShader, processing.opengl.PGraphicsOpenGL.GLResource, processing.opengl.PGraphicsOpenGL.IndexCache, processing.opengl.PGraphicsOpenGL.InGeometry, processing.opengl.PGraphicsOpenGL.LightShader, processing.opengl.PGraphicsOpenGL.LineShader, processing.opengl.PGraphicsOpenGL.PointShader, processing.opengl.PGraphicsOpenGL.Tessellator, processing.opengl.PGraphicsOpenGL.TessGeometry, processing.opengl.PGraphicsOpenGL.TexCache, processing.opengl.PGraphicsOpenGL.TexlightShader, processing.opengl.PGraphicsOpenGL.TextureShader
 
Field Summary
 boolean finished
           
 IGraphics3D igg
           
 boolean looping
           
 com.jogamp.opengl.util.awt.Overlay overlay
          To draw Java2D graphic over OpenGL graphic.
static java.awt.Color overlayBG
          Background color of overlay should be transparent.
 boolean overwritePAppletFinish
          To show iGeo correctly in Processing's basic mode, this needs to be true.
 boolean overwritePAppletLoop
          To show iGeo correctly in Processing's basic mode, this needs to be true.
 IPanel panel
           
 
Fields inherited from class processing.opengl.PGraphicsOpenGL
anisoSamplingSupported, autoMipmapGenSupported, blendEqSupported, breakShape, camera, cameraAspect, cameraEyeX, cameraEyeY, cameraEyeZ, cameraFar, cameraFOV, cameraInv, cameraInvStack, cameraNear, cameraStack, cameraX, cameraY, cameraZ, clearColorBuffer, clearColorBuffer0, clip, clipRect, colorShader, currentFramebuffer, currentLightFalloffConstant, currentLightFalloffLinear, currentLightFalloffQuadratic, currentLightSpecular, defaultEdges, defColorShader, defColorShaderFragURL, defColorShaderVertURL, defLightShader, defLightShaderVertURL, defLineShader, defLineShaderFragURL, defLineShaderVertURL, defPointShader, defPointShaderFragURL, defPointShaderVertURL, defTexlightShader, defTexlightShaderVertURL, defTextureShader, defTextureShaderFragURL, defTextureShaderVertURL, depthBits, drawFramebuffer, drawing, EDGE_CLOSE, EDGE_MIDDLE, EDGE_SINGLE, EDGE_START, EDGE_STOP, FB_STACK_DEPTH, fboMultisampleSupported, fbStack, fbStackDepth, filterImage, filterTexture, floatBuffer, FLUSH_CONTINUOUSLY, FLUSH_WHEN_FULL, flushMode, fontMap, glFrameBuffers, glLineAttrib, glLineColor, glLineIndex, glLineVertex, glModelview, glNormal, glParamsRead, glPointAttrib, glPointColor, glPointIndex, glPointVertex, glPolyAmbient, glPolyColor, glPolyEmissive, glPolyIndex, glPolyNormal, glPolyShininess, glPolySpecular, glPolyTexcoord, glPolyVertex, glProjection, glProjmodelview, glRenderBuffers, GLSL_VERSION, glslFragmentShaders, glslPrograms, glslVertexShaders, glTextureObjects, glVertexBuffers, identity, IMMEDIATE, inGeo, INIT_INDEX_BUFFER_SIZE, INIT_VERTEX_BUFFER_SIZE, initialized, intBuffer, lastBlendMode, lastSmoothCall, lightAmbient, lightCount, lightDiffuse, lightFalloffCoefficients, lightNormal, lightPosition, lights, lightsAllocated, lightShader, lightSpecular, lightSpotParameters, lightType, lineBuffersContext, lineBuffersCreated, lineShader, manipulatingCamera, maskShader, maskShaderFragURL, matricesAllocated, MATRIX_STACK_DEPTH, MAX_POINT_ACCURACY, maxAnisoAmount, maxLineWidth, maxPointSize, maxSamples, maxTextureSize, MIN_POINT_ACCURACY, modelview, modelviewInv, modelviewInvStack, modelviewStack, modelviewStackDepth, multisampleFramebuffer, nativePixelBuffer, nativePixels, npotTexSupported, offscreenFramebuffer, offscreenMultisample, OP_NONE, OP_READ, OP_WRITE, openContour, OPENGL_EXTENSIONS, OPENGL_RENDERER, OPENGL_VENDOR, OPENGL_VERSION, packedDepthStencilSupported, pgCurrent, pgl, pgPrimary, pixelBuffer, pixelsOp, pixOpChangedFB, POINT_ACCURACY_FACTOR, pointBuffersContext, pointBuffersCreated, pointShader, polyBuffersContext, polyBuffersCreated, projection, projectionStack, projectionStackDepth, projmodelview, ptexture, QUAD_POINT_SIGNS, readFramebuffer, restoreSurface, RETAINED, setgetPixels, shaderWarningsEnabled, sized, smoothCallCount, smoothDisabled, stencilBits, tessellator, tessGeo, texCache, texlightShader, texture, textureImage0, textureSampling, textureShader, textureWrap, viewport
 
Fields inherited from class processing.core.PGraphics
A, AB, AG, ambientB, ambientColor, ambientG, ambientR, AR, autoNormal, B, backgroundA, backgroundAi, backgroundAlpha, backgroundB, backgroundBi, backgroundColor, backgroundG, backgroundGi, backgroundR, backgroundRi, BEEN_LIT, bezierBasisInverse, bezierBasisMatrix, bezierDetail, bezierDrawMatrix, bezierInited, blendMode, cacheMap, calcA, calcAi, calcAlpha, calcB, calcBi, calcColor, calcG, calcGi, calcR, calcRi, canvas, colorMode, colorModeA, colorModeX, colorModeY, colorModeZ, cosLUT, curveBasisMatrix, curveDetail, curveDrawMatrix, curveInited, curveTightness, curveToBezierMatrix, curveVertexCount, curveVertices, DA, DB, DEFAULT_STROKE_CAP, DEFAULT_STROKE_JOIN, DEFAULT_STROKE_WEIGHT, DEFAULT_VERTICES, DG, DR, EB, edge, EDGE, EG, ellipseMode, emissiveB, emissiveColor, emissiveG, emissiveR, ER, fill, fillA, fillAi, fillAlpha, fillB, fillBi, fillColor, fillG, fillGi, fillR, fillRi, G, HAS_NORMAL, hints, image, imageMode, NORMAL_MODE_AUTO, NORMAL_MODE_SHAPE, NORMAL_MODE_VERTEX, normalMode, normalX, normalY, normalZ, NX, NY, NZ, path, pixelCount, primarySurface, quality, R, raw, reapplySettings, rectMode, SA, SB, setAmbient, settingsInited, SG, shape, shapeMode, SHINE, shininess, SINCOS_LENGTH, SINCOS_PRECISION, sinLUT, smooth, SPB, specularB, specularColor, specularG, specularR, SPG, sphereDetailU, sphereDetailV, sphereX, sphereY, sphereZ, SPR, SR, stroke, strokeA, strokeAi, strokeAlpha, strokeB, strokeBi, strokeCap, strokeColor, strokeG, strokeGi, strokeJoin, strokeR, strokeRi, strokeWeight, SW, textAlign, textAlignY, textBreakCount, textBreakStart, textBreakStop, textBuffer, textFont, textLeading, textMode, textSize, textureImage, textureMode, textureU, textureV, textWidthBuffer, tint, tintA, tintAi, tintAlpha, tintB, tintBi, tintColor, tintG, tintGi, tintR, tintRi, TX, TY, TZ, U, V, VERTEX_FIELD_COUNT, vertexCount, vertices, VW, VX, VY, VZ, warnings
 
Fields inherited from class processing.core.PImage
ALPHA_MASK, BLUE_MASK, format, GREEN_MASK, height, loaded, modified, mx1, mx2, my1, my2, parent, pixels, RED_MASK, saveImageFormats, width
 
Fields inherited from interface processing.core.PConstants
ADD, ALPHA, ALT, AMBIENT, ARC, ARGB, ARROW, BACKSPACE, BASELINE, BEVEL, BEZIER_VERTEX, BLEND, BLUR, BOTTOM, BOX, BREAK, BURN, CENTER, CHATTER, CHORD, CLAMP, CLOSE, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CURVE_VERTEX, CUSTOM, DARKEST, DEG_TO_RAD, DELETE, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_DEPTH_MASK, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_NATIVE_FONTS, DISABLE_OPENGL_ERRORS, DISABLE_OPTIMIZED_STROKE, DISABLE_RETINA_PIXELS, DISABLE_STROKE_PERSPECTIVE, DISABLE_STROKE_PURE, DISABLE_TEXTURE_MIPMAPS, DODGE, DOWN, DXF, ELLIPSE, ENABLE_DEPTH_MASK, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_ERRORS, ENABLE_OPTIMIZED_STROKE, ENABLE_RETINA_PIXELS, ENABLE_STROKE_PERSPECTIVE, ENABLE_STROKE_PURE, ENABLE_TEXTURE_MIPMAPS, ENTER, EPSILON, ERODE, ERROR_BACKGROUND_IMAGE_FORMAT, ERROR_BACKGROUND_IMAGE_SIZE, ERROR_PUSHMATRIX_OVERFLOW, ERROR_PUSHMATRIX_UNDERFLOW, ERROR_TEXTFONT_NULL_PFONT, ESC, EXCLUSION, GIF, GRAY, GROUP, HALF_PI, HAND, HARD_LIGHT, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LANDSCAPE, LEFT, LIGHTEST, LINE, LINE_LOOP, LINE_STRIP, LINES, LINUX, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MODELVIEW, MOVE, MULTIPLY, NORMAL, OPAQUE, OPEN, OPENGL, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PATH, PDF, PERSPECTIVE, PI, PIE, platformNames, POINT, POINTS, POLYGON, PORTRAIT, POSTERIZE, PROBLEM, PROJECT, PROJECTION, QUAD, QUAD_BEZIER_VERTEX, QUAD_STRIP, QUADRATIC_VERTEX, QUADS, QUARTER_PI, RAD_TO_DEG, RADIUS, RECT, REPEAT, REPLACE, RETURN, RGB, RIGHT, ROUND, SCREEN, SHAPE, SHIFT, SOFT_LIGHT, SPHERE, SPOT, SQUARE, SUBTRACT, TAB, TARGA, TAU, TEXT, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TWO_PI, UP, VERTEX, WAIT, WHITESPACE, WINDOWS, X, Y, Z
 
Constructor Summary
PIGraphicsGL()
           
 
Method Summary
 void draw()
           
 void drawIG()
          Drawing all the iGeo objects through IPanel.
 void initPrimary()
           
 void loop()
           
 void noLoop()
           
 void post()
           
 void pre()
           
 void setOverlay()
           
 void setParent(processing.core.PApplet parent)
          setParent is called by Processing in the initialization process of Processing.
 void setSize(int w, int h)
           
 void start()
           
 void stop()
           
 
Methods inherited from class processing.opengl.PGraphics3D
begin2D, createShape, createShape, createShape, createShape, createShapeImpl, createShapeImpl, defaultCamera, defaultPerspective, end2D, is2D, is3D, isSupportedExtension, loadShapeImpl
 
Methods inherited from class processing.opengl.PGraphicsOpenGL
addTexture, addTexture, allocate, allocatePixels, ambientLight, ambientLight, applyMatrix, applyMatrix, applyMatrix, applyMatrix, applyMatrixImpl, applyProjection, applyProjection, arcImpl, backgroundImpl, backgroundImpl, beginCamera, beginContour, beginDraw, beginOffscreenDraw, beginOnscreenDraw, beginPGL, beginPixelsOp, beginShape, bezierVertex, bezierVertex, bezierVertexImpl, bindFrontTexture, blendModeImpl, box, camera, camera, camera, canDraw, checkGLThread, checkTexture, clipImpl, colorShaderCheck, copy, copy, createFrameBufferObject, createGLSLFragShaderObject, createGLSLProgramObject, createGLSLVertShaderObject, createLineBuffers, createPointBuffers, createPolyBuffers, createPTexture, createRenderBufferObject, createTextureObject, createVertexBufferObject, curveVertex, curveVertex, curveVertexImpl, defaultSettings, deleteAllFrameBufferObjects, deleteAllGLSLFragShaderObjects, deleteAllGLSLProgramObjects, deleteAllGLSLVertShaderObjects, deleteAllRenderBufferObjects, deleteAllTextureObjects, deleteAllVertexBufferObjects, deleteDefaultShaders, deleteFinalizedFrameBufferObjects, deleteFinalizedGLResources, deleteFinalizedGLSLFragShaderObjects, deleteFinalizedGLSLProgramObjects, deleteFinalizedGLSLVertShaderObjects, deleteFinalizedRenderBufferObjects, deleteFinalizedTextureObjects, deleteFinalizedVertexBufferObjects, deleteFrameBufferObject, deleteGLSLFragShaderObject, deleteGLSLProgramObject, deleteGLSLVertShaderObject, deleteLineBuffers, deletePointBuffers, deletePolyBuffers, deleteRenderBufferObject, deleteSurfaceTextures, deleteTextureObject, deleteVertexBufferObject, diff, directionalLight, disableLighting, dispose, drawPixels, drawPTexture, drawTexture, drawTexture, ellipseImpl, enableLighting, endCamera, endContour, endDraw, endOffscreenDraw, endOnscreenDraw, endPGL, endPixelsOp, endShape, endShape, expandArraySize, fillFromCalc, filter, filter, filter, finalize, finalizeFrameBufferObject, finalizeGLSLFragShaderObject, finalizeGLSLProgramObject, finalizeGLSLVertShaderObject, finalizeRenderBufferObject, finalizeTextureObject, finalizeVertexBufferObject, flush, flushLines, flushPixels, flushPoints, flushPolys, frustum, get, getFontTexture, getGLParameters, getHint, getImpl, getLineShader, getMatrix, getMatrix, getPointShader, getPolyShader, getShaderType, getTexture, getTexture, hint, initCache, initOffscreen, invScale, invTranslate, isGL, lightAmbient, lightDiffuse, lightFalloff, lightFalloff, lightNormal, lightPosition, lights, lightShaderCheck, lightSpecular, lightSpecular, lightSpot, line, line, lineBufferContextIsOutdated, lineImpl, loadPixels, loadShader, loadShader, loadShape, loadTexture, loadTextureImpl, mask, modelX, modelY, modelZ, newInGeometry, newTessGeometry, newTexCache, noClip, noLightAmbient, noLightDiffuse, noLightFalloff, noLights, noLightSpecular, noLightSpot, nonOrthoProjection, nonZero, noSmooth, ortho, ortho, ortho, orthoProjection, perspective, perspective, point, point, pointBuffersContextIsOutdated, pointImpl, pointLight, polyBuffersContextIsOutdated, popFramebuffer, popMatrix, popProjection, printCamera, printMatrix, printProjection, pushFramebuffer, pushMatrix, pushProjection, quad, quadraticVertex, quadraticVertex, quadraticVertexImpl, readPixels, removeFontTexture, removeFrameBufferObject, removeGLSLFragShaderObject, removeGLSLProgramObject, removeGLSLVertShaderObject, removeRenderBufferObject, removeTextureObject, removeVertexBufferObject, report, requestDraw, requestFocus, resetMatrix, resetProjection, resetShader, resetShader, resize, restartPGL, restoreGL, restoreSurfaceFromPixels, rotate, rotate, rotateImpl, rotateX, rotateY, rotateZ, same, saveSurfaceToPixels, scale, scale, scale, scaleImpl, screenX, screenX, screenXImpl, screenXImpl, screenY, screenY, screenYImpl, screenYImpl, screenZ, screenZImpl, screenZImpl, set, setDrawDefaults, setFlushMode, setFontTexture, setFramebuffer, setFrameRate, setImpl, setMatrix, setMatrix, setPrimary, setProjection, setViewport, shader, shader, shaderWarnings, shape, shape, shearX, shearY, smooth, smooth, sphere, spotLight, strokeCap, strokeJoin, strokeWeight, swapOffscreenTextures, tessellate, tessellate, texlightShaderCheck, textAscent, textCharImpl, textCharModelImpl, textCharShapeImpl, textDescent, textLineImpl, textModeCheck, textureSampling, textureShaderCheck, textureWrap, textWidthImpl, translate, translate, translateImpl, triangle, unbindFrontTexture, unbindLineBuffers, unbindPointBuffers, unbindPolyBuffers, updateDisplay, updateGLModelview, updateGLNormal, updateGLProjection, updateGLProjmodelview, updateLineBuffers, updatePointBuffers, updatePolyBuffers, updateProjmodelview, updateTexture, updateTexture, updateTexture, vertex, vertex, vertex, vertex, vertexCode, vertexImpl, wrapTexture, zero
 
Methods inherited from class processing.core.PGraphics
alpha, ambient, ambient, ambient, ambientFromCalc, applyMatrix, arc, arc, background, background, background, background, background, background, background, backgroundFromCalc, beginRaw, beginShape, bezier, bezier, bezierDetail, bezierInit, bezierInitCheck, bezierPoint, bezierTangent, bezierVertexCheck, bezierVertexCheck, blendMode, blue, box, brightness, checkSettings, clear, clip, color, color, color, color, color, color, color, color, color, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalcARGB, colorMode, colorMode, colorMode, colorMode, curve, curve, curveDetail, curveInit, curveInitCheck, curvePoint, curveTangent, curveTightness, curveVertexCheck, curveVertexCheck, curveVertexSegment, curveVertexSegment, defaultFontOrDeath, defaultFontOrDeath, displayable, edge, ellipse, ellipseMode, emissive, emissive, emissive, emissiveFromCalc, endRaw, endShape, fill, fill, fill, fill, fill, fill, getCache, getMatrix, getRaw, getStyle, getStyle, green, haveRaw, hue, image, image, image, imageImpl, imageMode, lerpColor, lerpColor, loadShape, noFill, normal, noStroke, noTexture, noTint, popStyle, pushStyle, reapplySettings, rect, rect, rect, rectImpl, rectImpl, rectMode, red, removeCache, saturation, setCache, setMatrix, setPath, shape, shape, shape, shapeMode, shininess, showDepthWarning, showDepthWarningXYZ, showException, showMethodWarning, showMissingWarning, showVariationWarning, showWarning, showWarning, specular, specular, specular, specularFromCalc, sphereDetail, sphereDetail, splineForward, stroke, stroke, stroke, stroke, stroke, stroke, strokeFromCalc, style, text, text, text, text, text, text, text, text, text, text, text, textAlign, textAlign, textCharModelImpl, textCharScreenImpl, textFont, textFont, textLeading, textLineAlignImpl, textMode, textSentence, textSentenceBreak, textSize, texture, textureMode, textWidth, textWidth, textWidth, tint, tint, tint, tint, tint, tint, tintFromCalc, vertex, vertexCheck, vertexTexture
 
Methods inherited from class processing.core.PImage
blend, blend, blendColor, blurAlpha, blurARGB, blurRGB, buildBlurKernel, checkAlpha, clone, dilate, get, get, getImage, getModifiedX1, getModifiedX2, getModifiedY1, getModifiedY2, getNative, init, isLoaded, isModified, loadTIFF, mask, save, saveImageIO, saveTGA, saveTIFF, set, setLoaded, setLoaded, setModified, setModified, updatePixels, updatePixels
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

panel

public IPanel panel

igg

public IGraphics3D igg

overlay

public com.jogamp.opengl.util.awt.Overlay overlay
To draw Java2D graphic over OpenGL graphic.


overlayBG

public static java.awt.Color overlayBG
Background color of overlay should be transparent.


overwritePAppletFinish

public boolean overwritePAppletFinish
To show iGeo correctly in Processing's basic mode, this needs to be true.


finished

public boolean finished

overwritePAppletLoop

public boolean overwritePAppletLoop
To show iGeo correctly in Processing's basic mode, this needs to be true.


looping

public boolean looping
Constructor Detail

PIGraphicsGL

public PIGraphicsGL()
Method Detail

setParent

public void setParent(processing.core.PApplet parent)
setParent is called by Processing in the initialization process of Processing. Here the initialization proces of iGeo is also done.

Overrides:
setParent in class processing.core.PGraphics
Parameters:
parent - parent PApplet of Processing.

initPrimary

public void initPrimary()
Overrides:
initPrimary in class processing.opengl.PGraphicsOpenGL

pre

public void pre()

draw

public void draw()

drawIG

public void drawIG()
Drawing all the iGeo objects through IPanel. Overlay is also used to draw 2D graphics on top of OpenGL 3D graphics.


setOverlay

public void setOverlay()

setSize

public void setSize(int w,
                    int h)
Overrides:
setSize in class processing.opengl.PGraphicsOpenGL

post

public void post()

loop

public void loop()

noLoop

public void noLoop()

start

public void start()

stop

public void stop()