igeo.p
Class PIGraphicsGL

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

public class PIGraphicsGL
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.

Version:
0.7.1.0;
Author:
Satoru Sugihara

Nested Class Summary
 
Nested classes/interfaces inherited from class processing.opengl.PGraphicsOpenGL
processing.opengl.PGraphicsOpenGL.ImageCache, processing.opengl.PGraphicsOpenGL.TessCallback, processing.opengl.PGraphicsOpenGL.TessInfo
 
Field Summary
 boolean finished
           
 IGraphics igg
           
 boolean looping
           
 com.sun.opengl.util.j2d.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
BIG_ENDIAN, colorBuffer, context, drawable, gl, glu, lightArray, pixelBuffer, projectionFloats, tessCallback, tessInfo, tessInfoEnabled, tobj, zeroBuffer
 
Fields inherited from class processing.core.PGraphics3D
bottomScreen, camera, cameraAspect, cameraFar, cameraFOV, cameraInv, cameraNear, cameraX, cameraY, cameraZ, currentLightFalloffConstant, currentLightFalloffLinear, currentLightFalloffQuadratic, currentLightSpecular, forwardTransform, leftScreen, lightCount, lightDiffuse, lightFalloffConstant, lightFalloffLinear, lightFalloffQuadratic, lightNormal, lightPosition, lightSpecular, lightSpotAngle, lightSpotAngleCos, lightSpotConcentration, lightTriangleNorm, lightType, line, LINE_FIELD_COUNT, lineCount, lines, manipulatingCamera, matrixMode, MAX_LIGHTS, modelview, modelviewInv, nearPlane, pathCount, pathLength, pathOffset, POINT_FIELD_COUNT, pointCount, points, projection, reverseTransform, rightScreen, s_enableAccurateTextures, shapeFirst, shapeLast, shapeLastPlusClipped, sizeChanged, smoothTriangle, STROKE_COLOR, tempLightingContribution, TEXTURE_INDEX, textures, topScreen, TRI_COLOR_COUNT, TRI_DIFFUSE_A, TRI_DIFFUSE_B, TRI_DIFFUSE_G, TRI_DIFFUSE_R, TRI_SPECULAR_B, TRI_SPECULAR_G, TRI_SPECULAR_R, triangle, TRIANGLE_FIELD_COUNT, triangleColors, triangleCount, triangles, VERTEX1, VERTEX2, VERTEX3, vertexOrder, zbuffer
 
Fields inherited from class processing.core.PGraphics
ambientB, ambientG, ambientR, autoNormal, backgroundA, backgroundAi, backgroundAlpha, backgroundB, backgroundBi, backgroundColor, backgroundG, backgroundGi, backgroundR, backgroundRi, bezierBasisInverse, bezierBasisMatrix, bezierDetail, bezierDrawMatrix, bezierInited, calcA, calcAi, calcAlpha, calcB, calcBi, calcColor, calcG, calcGi, calcR, calcRi, colorMode, colorModeA, colorModeX, colorModeY, colorModeZ, cosLUT, curveBasisMatrix, curveDetail, curveDrawMatrix, curveInited, curveTightness, curveToBezierMatrix, curveVertexCount, curveVertices, DEFAULT_STROKE_CAP, DEFAULT_STROKE_JOIN, DEFAULT_STROKE_WEIGHT, DEFAULT_VERTICES, edge, ellipseMode, emissiveB, emissiveG, emissiveR, fill, fillA, fillAi, fillAlpha, fillB, fillBi, fillColor, fillG, fillGi, fillR, fillRi, height1, hints, image, imageMode, NORMAL_MODE_AUTO, NORMAL_MODE_SHAPE, NORMAL_MODE_VERTEX, normalMode, normalX, normalY, normalZ, path, pixelCount, primarySurface, raw, rectMode, settingsInited, shape, shapeMode, shininess, SINCOS_LENGTH, SINCOS_PRECISION, sinLUT, smooth, specularB, specularG, specularR, sphereDetailU, sphereDetailV, stroke, strokeA, strokeAi, strokeAlpha, strokeB, strokeBi, strokeCap, strokeColor, strokeG, strokeGi, strokeJoin, strokeR, strokeRi, strokeWeight, textAlign, textAlignY, textBreakCount, textBreakStart, textBreakStop, textBuffer, textFont, textLeading, textMode, textSize, textureImage, textureMode, textureU, textureV, textWidthBuffer, textX, textY, textZ, tint, tintA, tintAi, tintAlpha, tintB, tintBi, tintColor, tintG, tintGi, tintR, tintRi, vertexCount, vertices, warnings, width1
 
Fields inherited from class processing.core.PImage
cacheMap, format, height, modified, mx1, mx2, my1, my2, paramMap, parent, pixels, saveImageFormats, width
 
Fields inherited from interface processing.core.PConstants
A, AB, ADD, AG, ALPHA, ALPHA_MASK, ALT, AMBIENT, AR, ARC, ARGB, ARROW, B, BACKSPACE, BASELINE, BEEN_LIT, BEVEL, BILINEAR, BLEND, BLUE_MASK, BLUR, BOTTOM, BOX, BURN, CENTER, CENTER_DIAMETER, CENTER_RADIUS, CHATTER, CLAMP, CLOSE, CMYK, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CUSTOM, DA, DARKEST, DB, DEG_TO_RAD, DELETE, DG, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_ACCURATE_TEXTURES, DISABLE_DEPTH_MASK, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_NATIVE_FONTS, DISABLE_OPENGL_2X_SMOOTH, DISABLE_OPENGL_ERROR_REPORT, DODGE, DOWN, DR, DXF, DYNAMIC, EB, EDGE, EG, ELLIPSE, ENABLE_ACCURATE_TEXTURES, ENABLE_DEPTH_MASK, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_2X_SMOOTH, ENABLE_OPENGL_4X_SMOOTH, ENABLE_OPENGL_ERROR_REPORT, ENTER, EPSILON, ER, ERODE, ERROR_BACKGROUND_IMAGE_FORMAT, ERROR_BACKGROUND_IMAGE_SIZE, ERROR_PUSHMATRIX_OVERFLOW, ERROR_PUSHMATRIX_UNDERFLOW, ERROR_TEXTFONT_NULL_PFONT, ESC, EXCLUSION, FIXED, G, GIF, GRAY, GREEN_MASK, HALF_PI, HAND, HARD_LIGHT, HAS_NORMAL, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LEFT, LIGHTEST, LINE, LINE_LOOP, LINE_STRIP, LINEAR, LINES, LINUX, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MODELVIEW, MOVE, MULTIPLY, NORMAL, NORMALIZED, NX, NY, NZ, OPAQUE, OPEN, OPENGL, OPENGL2, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PATH, PDF, PERSPECTIVE, PI, platformNames, POINT, POINT_SPRITES, POINTS, POLYGON, POSTERIZE, PROBLEM, PROG_GL2, PROG_GL3, PROG_GL4, PROJECT, PROJECTION, QUAD, QUAD_STRIP, QUADRATIC, QUADS, QUARTER_PI, R, RAD_TO_DEG, RADIUS, RECT, RED_MASK, REPEAT, REPLACE, RETURN, RGB, RIGHT, ROUND, SA, SB, SCREEN, SG, SHAPE, SHIFT, SHINE, SOFT_LIGHT, SPB, SPG, SPHERE, SPOT, SPR, SQUARE, SR, STATIC, STREAM, SUBTRACT, SW, TAB, TARGA, TEXT, TEXTURE2D, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TRILINEAR, TWO_PI, TX, TY, TZ, U, UP, V, VERTEX_FIELD_COUNT, VW, VX, VY, VZ, WAIT, WHITESPACE, WINDOWS, X, Y, Z
 
Constructor Summary
PIGraphicsGL()
           
 
Method Summary
 void draw()
           
 void drawIG()
          Drawing all the iGeo objects through IPanel.
 void loop()
           
 void noLoop()
           
 void post()
           
 void pre()
           
 void setGLProperties()
           
 void setParent(processing.core.PApplet parent)
          setParent is called by Processing in the initialization process of Processing.
 void start()
           
 void stop()
           
 
Methods inherited from class processing.opengl.PGraphicsOpenGL
addDir, addLine, addTriangle, allocate, ambientFromCalc, ambientLight, ambientLight, backgroundImpl, backgroundImpl, beginDraw, beginGL, bindTexture, canDraw, clamp, detainContext, directionalLight, emissiveFromCalc, endDraw, endGL, endShapeLighting, fillFromCalc, filter, filter, get, get, getContext, getImpl, hint, lightDirection, lightFalloff, lightPosition, lightSpecular, loadPixels, mask, mask, noSmooth, pointLight, releaseContext, renderLines, renderPoints, renderTriangles, report, resize, set, set, setRasterPos, shininess, smooth, specularFromCalc, spotLight, strokeCap, strokeJoin, strokeWeight, tessBegin, tessBreak, tessEnd, tessInfoReset, tessVertex, textAscent, textCharImpl, textCharShapeImpl, textDescent, textFont, textModeCheck, textWidthImpl, updatePixels, updateProjection
 
Methods inherited from class processing.core.PGraphics3D
addLineBreak, addLineWithClip, addLineWithoutClip, addPoint, addPolygonTriangles, addTriangleWithClip, addTriangleWithoutClip, applyMatrix, applyMatrix, applyMatrix, applyMatrix, arcImpl, beginCamera, beginShape, box, camera, camera, defaultSettings, ellipseImpl, endCamera, endShape, endShapeCameraToScreen, endShapeFill, endShapeModelToCamera, endShapeStroke, flush, frustum, getMatrix, getMatrix, getProjection, interpolateClipVertex, is2D, is3D, lights, matrixMode, modelX, modelY, modelZ, noLights, ortho, ortho, perspective, perspective, popMatrix, printCamera, printMatrix, printProjection, pushMatrix, rawLines, rawPoints, rawTriangles, render, renderLineVertices, resetMatrix, rotate, rotate, rotateX, rotateY, rotateZ, scale, scale, scale, screenX, screenX, screenY, screenY, screenZ, setMatrix, setMatrix, setSize, shearX, shearY, sort, sphere, texture, translate, translate, vertex, vertex
 
Methods inherited from class processing.core.PGraphics
alpha, ambient, ambient, ambient, applyMatrix, arc, autoNormal, background, background, background, background, background, background, background, backgroundFromCalc, beginRaw, beginRecord, beginShape, beginText, bezier, bezier, bezierDetail, bezierInit, bezierInitCheck, bezierPoint, bezierTangent, bezierVertex, bezierVertex, bezierVertexCheck, blue, box, breakShape, brightness, checkSettings, color, color, color, color, color, color, color, color, color, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalc, colorCalcARGB, colorMode, colorMode, colorMode, colorMode, createShape, curve, curve, curveDetail, curveInit, curveInitCheck, curvePoint, curveTangent, curveTightness, curveVertex, curveVertex, curveVertexCheck, curveVertexSegment, curveVertexSegment, defaultFontOrDeath, defaultFontOrDeath, displayable, dispose, edge, ellipse, ellipseMode, emissive, emissive, emissive, endRaw, endRecord, endShape, endText, fill, fill, fill, fill, fill, fill, getMatrix, getStyle, getStyle, getSupportedShapeFormats, green, hintEnabled, hue, image, image, image, imageImpl, imageMode, isRecording, lerpColor, lerpColor, line, line, loadShape, mergeShapes, noFill, normal, noStroke, noTexture, noTint, ortho, point, point, popStyle, pushStyle, quad, quadVertex, quadVertex, reapplySettings, rect, rect, rect, rectImpl, rectImpl, rectImpl, rectMode, red, saturation, screenBlend, setMatrix, setPath, setPrimary, shape, shape, shape, shapeMode, shapeName, showDepthWarning, showDepthWarningXYZ, showException, showMethodWarning, showMissingWarning, showVariationWarning, showWarning, specular, specular, specular, sphereDetail, sphereDetail, splineForward, stroke, stroke, stroke, stroke, stroke, stroke, strokeFromCalc, style, text, text, text, text, text, text, text, text, text, text, text, text, text, text, textAlign, textAlign, textCharModelImpl, textCharScreenImpl, textFont, textLeading, textLineAlignImpl, textLineImpl, textMode, textSentence, textSentenceBreak, textSize, texture, textureBlend, textureMode, textWidth, textWidth, textWidth, tint, tint, tint, tint, tint, tint, tintFromCalc, triangle, vertex, vertex, vertex, vertexCheck, vertexFields, vertexTexture
 
Methods inherited from class processing.core.PImage
blend, blend, blendColor, blurAlpha, blurARGB, blurRGB, buildBlurKernel, checkAlpha, clone, copy, copy, delete, dilate, get, getCache, getImage, getModifiedX1, getModifiedX2, getModifiedY1, getModifiedY2, getParams, init, isModified, loadTIFF, removeCache, removeParams, save, saveImageIO, saveTGA, saveTIFF, setCache, setImpl, setModified, setModified, setParams, updatePixels, updatePixelsImpl
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

panel

public IPanel panel

igg

public IGraphics igg

overlay

public com.sun.opengl.util.j2d.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.

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.


post

public void post()

loop

public void loop()

noLoop

public void noLoop()

start

public void start()

stop

public void stop()