igeo.p
Class PIGraphicsGL1

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

public class PIGraphicsGL1
extends processing.opengl.PGraphicsOpenGL

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
           
 IGraphicsGL1 igg
           
 boolean looping
           
 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
PIGraphicsGL1()
           
 
Method Summary
 void draw()
           
 void drawIG()
          Drawing all the iGeo objects through IPanel.
 void loop()
           
 void noLoop()
           
 void post()
           
 void pre()
           
 void setGLProperties()
           
 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.PGraphicsOpenGL
addTexture, addTexture, allocate, allocatePixels, ambientLight, ambientLight, applyMatrix, applyMatrix, applyMatrix, applyMatrix, applyMatrixImpl, applyProjection, applyProjection, arcImpl, backgroundImpl, backgroundImpl, begin2D, 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, defaultCamera, defaultPerspective, 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, end2D, 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, initPrimary, 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, createShape, createShape, createShape, createShape, 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, is2D, is3D, 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 IGraphicsGL1 igg

overlay

public 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

PIGraphicsGL1

public PIGraphicsGL1()
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.

setGLProperties

public void setGLProperties()

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()