Class PShapeOpenGL

  • All Implemented Interfaces:
    PConstants

    public class PShapeOpenGL
    extends PShape
    This class holds a 3D model composed of vertices, normals, colors (per vertex) and texture coordinates (also per vertex). All this data is stored in Vertex Buffer Objects (VBO) in GPU memory for very fast access. OBJ loading implemented using code from Saito's OBJLoader library: http://code.google.com/p/saitoobjloader/ and OBJReader from Ahmet Kizilay http://www.openprocessing.org/visuals/?visualID=191 By Andres Colubri Other formats to consider: AMF: http://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format STL: http://en.wikipedia.org/wiki/STL_(file_format) OFF: http://people.sc.fsu.edu/~jburkardt/data/off/off.html(file_format) DXF: http://en.wikipedia.org/wiki/AutoCAD_DXF
    • Field Detail

      • pgl

        protected PGL pgl
      • context

        protected int context
      • strokedTexture

        protected boolean strokedTexture
      • untexChild

        protected boolean untexChild
      • glUsage

        public int glUsage
      • polyVertCopyOffset

        protected int polyVertCopyOffset
      • polyIndCopyOffset

        protected int polyIndCopyOffset
      • lineVertCopyOffset

        protected int lineVertCopyOffset
      • lineIndCopyOffset

        protected int lineIndCopyOffset
      • pointVertCopyOffset

        protected int pointVertCopyOffset
      • pointIndCopyOffset

        protected int pointIndCopyOffset
      • polyIndexOffset

        protected int polyIndexOffset
      • polyVertexOffset

        protected int polyVertexOffset
      • polyVertexAbs

        protected int polyVertexAbs
      • polyVertexRel

        protected int polyVertexRel
      • lineIndexOffset

        protected int lineIndexOffset
      • lineVertexOffset

        protected int lineVertexOffset
      • lineVertexAbs

        protected int lineVertexAbs
      • lineVertexRel

        protected int lineVertexRel
      • pointIndexOffset

        protected int pointIndexOffset
      • pointVertexOffset

        protected int pointVertexOffset
      • pointVertexAbs

        protected int pointVertexAbs
      • pointVertexRel

        protected int pointVertexRel
      • firstPolyIndexCache

        protected int firstPolyIndexCache
      • lastPolyIndexCache

        protected int lastPolyIndexCache
      • firstLineIndexCache

        protected int firstLineIndexCache
      • lastLineIndexCache

        protected int lastLineIndexCache
      • firstPointIndexCache

        protected int firstPointIndexCache
      • lastPointIndexCache

        protected int lastPointIndexCache
      • firstPolyVertex

        protected int firstPolyVertex
      • lastPolyVertex

        protected int lastPolyVertex
      • firstLineVertex

        protected int firstLineVertex
      • lastLineVertex

        protected int lastLineVertex
      • firstPointVertex

        protected int firstPointVertex
      • lastPointVertex

        protected int lastPointVertex
      • transform

        protected PMatrix transform
      • transformInv

        protected PMatrix transformInv
      • matrixInv

        protected PMatrix matrixInv
      • tessellated

        protected boolean tessellated
      • needBufferInit

        protected boolean needBufferInit
      • solid

        protected boolean solid
      • breakShape

        protected boolean breakShape
      • shapeCreated

        protected boolean shapeCreated
      • hasPolys

        protected boolean hasPolys
      • hasLines

        protected boolean hasLines
      • hasPoints

        protected boolean hasPoints
      • bezierDetail

        protected int bezierDetail
      • curveDetail

        protected int curveDetail
      • curveTightness

        protected float curveTightness
      • savedBezierDetail

        protected int savedBezierDetail
      • savedCurveDetail

        protected int savedCurveDetail
      • savedCurveTightness

        protected float savedCurveTightness
      • normalX

        protected float normalX
      • normalY

        protected float normalY
      • normalZ

        protected float normalZ
      • normalMode

        protected int normalMode
      • modified

        protected boolean modified
      • modifiedPolyVertices

        protected boolean modifiedPolyVertices
      • modifiedPolyColors

        protected boolean modifiedPolyColors
      • modifiedPolyNormals

        protected boolean modifiedPolyNormals
      • modifiedPolyTexCoords

        protected boolean modifiedPolyTexCoords
      • modifiedPolyAmbient

        protected boolean modifiedPolyAmbient
      • modifiedPolySpecular

        protected boolean modifiedPolySpecular
      • modifiedPolyEmissive

        protected boolean modifiedPolyEmissive
      • modifiedPolyShininess

        protected boolean modifiedPolyShininess
      • modifiedLineVertices

        protected boolean modifiedLineVertices
      • modifiedLineColors

        protected boolean modifiedLineColors
      • modifiedLineAttributes

        protected boolean modifiedLineAttributes
      • modifiedPointVertices

        protected boolean modifiedPointVertices
      • modifiedPointColors

        protected boolean modifiedPointColors
      • modifiedPointAttributes

        protected boolean modifiedPointAttributes
      • firstModifiedPolyVertex

        protected int firstModifiedPolyVertex
      • lastModifiedPolyVertex

        protected int lastModifiedPolyVertex
      • firstModifiedPolyColor

        protected int firstModifiedPolyColor
      • lastModifiedPolyColor

        protected int lastModifiedPolyColor
      • firstModifiedPolyNormal

        protected int firstModifiedPolyNormal
      • lastModifiedPolyNormal

        protected int lastModifiedPolyNormal
      • firstModifiedPolyTexcoord

        protected int firstModifiedPolyTexcoord
      • lastModifiedPolyTexcoord

        protected int lastModifiedPolyTexcoord
      • firstModifiedPolyAmbient

        protected int firstModifiedPolyAmbient
      • lastModifiedPolyAmbient

        protected int lastModifiedPolyAmbient
      • firstModifiedPolySpecular

        protected int firstModifiedPolySpecular
      • lastModifiedPolySpecular

        protected int lastModifiedPolySpecular
      • firstModifiedPolyEmissive

        protected int firstModifiedPolyEmissive
      • lastModifiedPolyEmissive

        protected int lastModifiedPolyEmissive
      • firstModifiedPolyShininess

        protected int firstModifiedPolyShininess
      • lastModifiedPolyShininess

        protected int lastModifiedPolyShininess
      • firstModifiedLineVertex

        protected int firstModifiedLineVertex
      • lastModifiedLineVertex

        protected int lastModifiedLineVertex
      • firstModifiedLineColor

        protected int firstModifiedLineColor
      • lastModifiedLineColor

        protected int lastModifiedLineColor
      • firstModifiedLineAttribute

        protected int firstModifiedLineAttribute
      • lastModifiedLineAttribute

        protected int lastModifiedLineAttribute
      • firstModifiedPointVertex

        protected int firstModifiedPointVertex
      • lastModifiedPointVertex

        protected int lastModifiedPointVertex
      • firstModifiedPointColor

        protected int firstModifiedPointColor
      • lastModifiedPointColor

        protected int lastModifiedPointColor
      • firstModifiedPointAttribute

        protected int firstModifiedPointAttribute
      • lastModifiedPointAttribute

        protected int lastModifiedPointAttribute
      • savedStroke

        protected boolean savedStroke
      • savedStrokeColor

        protected int savedStrokeColor
      • savedStrokeWeight

        protected float savedStrokeWeight
      • savedStrokeCap

        protected int savedStrokeCap
      • savedStrokeJoin

        protected int savedStrokeJoin
      • savedFill

        protected boolean savedFill
      • savedFillColor

        protected int savedFillColor
      • savedTint

        protected boolean savedTint
      • savedTintColor

        protected int savedTintColor
      • savedAmbientColor

        protected int savedAmbientColor
      • savedSpecularColor

        protected int savedSpecularColor
      • savedEmissiveColor

        protected int savedEmissiveColor
      • savedShininess

        protected float savedShininess
      • savedTextureMode

        protected int savedTextureMode
    • Constructor Detail

      • PShapeOpenGL

        public PShapeOpenGL​(PGraphicsOpenGL pg,
                            int kind,
                            float... p)
        Create a shape from the PRIMITIVE family, using this kind and these params
    • Method Detail

      • addChild

        public void addChild​(PShape who,
                             int idx)
        Overrides:
        addChild in class PShape
        idx - the layer position in which to insert the new child
      • removeChild

        public void removeChild​(int idx)
        Description copied from class: PShape
        Remove the child shape with index idx.
        Overrides:
        removeChild in class PShape
      • updateRoot

        protected void updateRoot​(PShape root)
      • getWidth

        public float getWidth()
        Description copied from class: PShape
        Get the width of the drawing area (not necessarily the shape boundary).
        Overrides:
        getWidth in class PShape
      • getHeight

        public float getHeight()
        Description copied from class: PShape
        Get the height of the drawing area (not necessarily the shape boundary).
        Overrides:
        getHeight in class PShape
      • getDepth

        public float getDepth()
        Description copied from class: PShape
        Get the depth of the shape area (not necessarily the shape boundary). Only makes sense for 3D PShape subclasses, such as PShape3D.
        Overrides:
        getDepth in class PShape
      • getVertexMin

        protected void getVertexMin​(PVector min)
      • getVertexMax

        protected void getVertexMax​(PVector max)
      • getVertexSum

        protected int getVertexSum​(PVector sum,
                                   int count)
      • setTextureMode

        public void setTextureMode​(int mode)
        Overrides:
        setTextureMode in class PShape
      • setTextureModeImpl

        protected void setTextureModeImpl​(int mode)
      • setTextureImpl

        protected void setTextureImpl​(PImage tex)
      • scaleTextureUV

        protected void scaleTextureUV​(float uFactor,
                                      float vFactor)
      • addTexture

        protected void addTexture​(PImage tex)
      • strokedTexture

        protected void strokedTexture​(boolean newValue)
      • strokedTexture

        protected void strokedTexture​(boolean newValue,
                                      PShapeOpenGL caller)
      • untexChild

        protected void untexChild​(boolean newValue)
      • untexChild

        protected void untexChild​(boolean newValue,
                                  PShapeOpenGL caller)
      • hasTexture

        protected boolean hasTexture()
      • hasTexture

        protected boolean hasTexture​(PImage tex)
      • hasStrokedTexture

        protected boolean hasStrokedTexture()
      • solid

        public void solid​(boolean solid)
        Overrides:
        solid in class PShape
      • vertex

        public void vertex​(float x,
                           float y)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex​(float x,
                           float y,
                           float u,
                           float v)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex​(float x,
                           float y,
                           float z)
        Overrides:
        vertex in class PShape
      • vertex

        public void vertex​(float x,
                           float y,
                           float z,
                           float u,
                           float v)
        Overrides:
        vertex in class PShape
      • vertexImpl

        protected void vertexImpl​(float x,
                                  float y,
                                  float z,
                                  float u,
                                  float v)
      • vertexBreak

        protected boolean vertexBreak()
      • normal

        public void normal​(float nx,
                           float ny,
                           float nz)
        Overrides:
        normal in class PShape
      • attribPosition

        public void attribPosition​(String name,
                                   float x,
                                   float y,
                                   float z)
        Overrides:
        attribPosition in class PShape
      • attribNormal

        public void attribNormal​(String name,
                                 float nx,
                                 float ny,
                                 float nz)
        Overrides:
        attribNormal in class PShape
      • attrib

        public void attrib​(String name,
                           float... values)
        Overrides:
        attrib in class PShape
      • attrib

        public void attrib​(String name,
                           int... values)
        Overrides:
        attrib in class PShape
      • attrib

        public void attrib​(String name,
                           boolean... values)
        Overrides:
        attrib in class PShape
      • endShape

        public void endShape​(int mode)
        Overrides:
        endShape in class PShape
      • setParams

        public void setParams​(float[] source)
        Overrides:
        setParams in class PShape
      • setPath

        public void setPath​(int vcount,
                            float[][] verts,
                            int ccount,
                            int[] codes)
        Overrides:
        setPath in class PShape
      • translate

        public void translate​(float tx,
                              float ty)
        Description copied from class: PShape
        ( begin auto-generated from PShape_translate.xml ) Specifies an amount to displace the shape. The x parameter specifies left/right translation, the y parameter specifies up/down translation, and the z parameter specifies translations toward/away from the screen. Subsequent calls to the method accumulates the effect. For example, calling translate(50, 0) and then translate(20, 0) is the same as translate(70, 0). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.

        Using this method with the z parameter requires using the P3D parameter in combination with size. ( end auto-generated )
        Overrides:
        translate in class PShape
        Parameters:
        tx - left/right translation
        ty - up/down translation
        See Also:
        PShape.rotate(float), PShape.scale(float), PShape.resetMatrix()
      • translate

        public void translate​(float tx,
                              float ty,
                              float tz)
        Overrides:
        translate in class PShape
        tz - forward/back translation
      • rotate

        public void rotate​(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotate.xml ) Rotates a shape the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.

        Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Transformations apply to everything that happens after and subsequent calls to the method accumulates the effect. For example, calling rotate(HALF_PI) and then rotate(HALF_PI) is the same as rotate(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. ( end auto-generated )
        Overrides:
        rotate in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotateX(float), PShape.rotateY(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateX

        public void rotateX​(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateX.xml ) Rotates a shape around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.

        Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateX(HALF_PI) and then rotateX(HALF_PI) is the same as rotateX(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.

        This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. ( end auto-generated )
        Overrides:
        rotateX in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateY(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateY

        public void rotateY​(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateY.xml ) Rotates a shape around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.

        Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateY(HALF_PI) and then rotateY(HALF_PI) is the same as rotateY(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.

        This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. ( end auto-generated )
        Overrides:
        rotateY in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateX(float), PShape.rotateZ(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotateZ

        public void rotateZ​(float angle)
        Description copied from class: PShape
        ( begin auto-generated from PShape_rotateZ.xml ) Rotates a shape around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method.

        Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateZ(HALF_PI) and then rotateZ(HALF_PI) is the same as rotateZ(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.

        This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. ( end auto-generated )
        Overrides:
        rotateZ in class PShape
        Parameters:
        angle - angle of rotation specified in radians
        See Also:
        PShape.rotate(float), PShape.rotateX(float), PShape.rotateY(float), PShape.scale(float), PShape.translate(float, float), PShape.resetMatrix()
      • rotate

        public void rotate​(float angle,
                           float v0,
                           float v1,
                           float v2)
        Overrides:
        rotate in class PShape
      • scale

        public void scale​(float s)
        Description copied from class: PShape
        ( begin auto-generated from PShape_scale.xml ) Increases or decreases the size of a shape by expanding and contracting vertices. Shapes always scale from the relative origin of their bounding box. Scale values are specified as decimal percentages. For example, the method call scale(2.0) increases the dimension of a shape by 200%. Subsequent calls to the method multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). This transformation is applied directly to the shape, it's not refreshed each time draw() is run.

        Using this method with the z parameter requires using the P3D parameter in combination with size. ( end auto-generated )
        Overrides:
        scale in class PShape
        Parameters:
        s - percentate to scale the object
        See Also:
        PShape.rotate(float), PShape.translate(float, float), PShape.resetMatrix()
      • scale

        public void scale​(float x,
                          float y)
        Overrides:
        scale in class PShape
      • scale

        public void scale​(float x,
                          float y,
                          float z)
        Overrides:
        scale in class PShape
        Parameters:
        x - percentage to scale the object in the x-axis
        y - percentage to scale the object in the y-axis
        z - percentage to scale the object in the z-axis
      • applyMatrix

        public void applyMatrix​(float n00,
                                float n01,
                                float n02,
                                float n10,
                                float n11,
                                float n12)
        Overrides:
        applyMatrix in class PShape
      • applyMatrix

        public void applyMatrix​(float n00,
                                float n01,
                                float n02,
                                float n03,
                                float n10,
                                float n11,
                                float n12,
                                float n13,
                                float n20,
                                float n21,
                                float n22,
                                float n23,
                                float n30,
                                float n31,
                                float n32,
                                float n33)
        Overrides:
        applyMatrix in class PShape
      • transform

        protected void transform​(int type,
                                 float... args)
      • applyMatrixImpl

        protected void applyMatrixImpl​(PMatrix matrix)
      • checkMatrix

        protected void checkMatrix​(int dimensions)
        Description copied from class: PShape
        Make sure that the shape's matrix is 1) not null, and 2) has a matrix that can handle at least the specified number of dimensions.
        Overrides:
        checkMatrix in class PShape
      • bezierDetail

        public void bezierDetail​(int detail)
        Overrides:
        bezierDetail in class PShape
      • bezierVertex

        public void bezierVertex​(float x2,
                                 float y2,
                                 float x3,
                                 float y3,
                                 float x4,
                                 float y4)
        Overrides:
        bezierVertex in class PShape
      • bezierVertex

        public void bezierVertex​(float x2,
                                 float y2,
                                 float z2,
                                 float x3,
                                 float y3,
                                 float z3,
                                 float x4,
                                 float y4,
                                 float z4)
        Overrides:
        bezierVertex in class PShape
      • bezierVertexImpl

        protected void bezierVertexImpl​(float x2,
                                        float y2,
                                        float z2,
                                        float x3,
                                        float y3,
                                        float z3,
                                        float x4,
                                        float y4,
                                        float z4)
      • quadraticVertex

        public void quadraticVertex​(float cx,
                                    float cy,
                                    float x3,
                                    float y3)
        Overrides:
        quadraticVertex in class PShape
      • quadraticVertex

        public void quadraticVertex​(float cx,
                                    float cy,
                                    float cz,
                                    float x3,
                                    float y3,
                                    float z3)
        Overrides:
        quadraticVertex in class PShape
      • quadraticVertexImpl

        protected void quadraticVertexImpl​(float cx,
                                           float cy,
                                           float cz,
                                           float x3,
                                           float y3,
                                           float z3)
      • curveDetail

        public void curveDetail​(int detail)
        Overrides:
        curveDetail in class PShape
      • curveTightness

        public void curveTightness​(float tightness)
        Overrides:
        curveTightness in class PShape
      • curveVertex

        public void curveVertex​(float x,
                                float y)
        Overrides:
        curveVertex in class PShape
      • curveVertex

        public void curveVertex​(float x,
                                float y,
                                float z)
        Overrides:
        curveVertex in class PShape
      • curveVertexImpl

        protected void curveVertexImpl​(float x,
                                       float y,
                                       float z)
      • getVertexX

        public float getVertexX​(int index)
        Overrides:
        getVertexX in class PShape
      • getVertexY

        public float getVertexY​(int index)
        Overrides:
        getVertexY in class PShape
      • getVertexZ

        public float getVertexZ​(int index)
        Overrides:
        getVertexZ in class PShape
      • setVertex

        public void setVertex​(int index,
                              float x,
                              float y,
                              float z)
        Overrides:
        setVertex in class PShape
        z - the z value for the vertex
      • setVertex

        public void setVertex​(int index,
                              PVector vec)
        Overrides:
        setVertex in class PShape
        vec - the PVector to define the x, y, z coordinates
      • getNormalX

        public float getNormalX​(int index)
        Overrides:
        getNormalX in class PShape
      • getNormalY

        public float getNormalY​(int index)
        Overrides:
        getNormalY in class PShape
      • getNormalZ

        public float getNormalZ​(int index)
        Overrides:
        getNormalZ in class PShape
      • setNormal

        public void setNormal​(int index,
                              float nx,
                              float ny,
                              float nz)
        Overrides:
        setNormal in class PShape
      • setAttrib

        public void setAttrib​(String name,
                              int index,
                              float... values)
        Overrides:
        setAttrib in class PShape
      • setAttrib

        public void setAttrib​(String name,
                              int index,
                              int... values)
        Overrides:
        setAttrib in class PShape
      • setAttrib

        public void setAttrib​(String name,
                              int index,
                              boolean... values)
        Overrides:
        setAttrib in class PShape
      • getTextureU

        public float getTextureU​(int index)
        Overrides:
        getTextureU in class PShape
      • getTextureV

        public float getTextureV​(int index)
        Overrides:
        getTextureV in class PShape
      • setTextureUV

        public void setTextureUV​(int index,
                                 float u,
                                 float v)
        Overrides:
        setTextureUV in class PShape
      • getFill

        public int getFill​(int index)
        Overrides:
        getFill in class PShape
      • setFill

        public void setFill​(boolean fill)
        Overrides:
        setFill in class PShape
      • setFill

        public void setFill​(int fill)
        Description copied from class: PShape
        ( begin auto-generated from PShape_setFill.xml ) The setFill() method defines the fill color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setFill() method can define a new fill value for the PShape. ( end auto-generated )
        Overrides:
        setFill in class PShape
      • setFillImpl

        protected void setFillImpl​(int fill)
      • setFill

        public void setFill​(int index,
                            int fill)
        Overrides:
        setFill in class PShape
      • getTint

        public int getTint​(int index)
        Overrides:
        getTint in class PShape
      • setTint

        public void setTint​(boolean tint)
        Overrides:
        setTint in class PShape
      • setTint

        public void setTint​(int tint)
        Overrides:
        setTint in class PShape
      • setTintImpl

        protected void setTintImpl​(int tint)
      • setTint

        public void setTint​(int index,
                            int tint)
        Overrides:
        setTint in class PShape
      • getStroke

        public int getStroke​(int index)
        Overrides:
        getStroke in class PShape
      • setStroke

        public void setStroke​(boolean stroke)
        Overrides:
        setStroke in class PShape
      • setStrokeImpl

        protected void setStrokeImpl​(boolean stroke)
      • setStroke

        public void setStroke​(int stroke)
        Description copied from class: PShape
        ( begin auto-generated from PShape_setStroke.xml ) The setStroke() method defines the outline color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setStroke() method can define a new stroke value for the PShape. ( end auto-generated )
        Overrides:
        setStroke in class PShape
      • setStrokeImpl

        protected void setStrokeImpl​(int stroke)
      • setStroke

        public void setStroke​(int index,
                              int stroke)
        Overrides:
        setStroke in class PShape
      • getStrokeWeight

        public float getStrokeWeight​(int index)
        Overrides:
        getStrokeWeight in class PShape
      • setStrokeWeight

        public void setStrokeWeight​(float weight)
        Overrides:
        setStrokeWeight in class PShape
      • setStrokeWeightImpl

        protected void setStrokeWeightImpl​(float weight)
      • setStrokeWeight

        public void setStrokeWeight​(int index,
                                    float weight)
        Overrides:
        setStrokeWeight in class PShape
      • setStrokeJoin

        public void setStrokeJoin​(int join)
        Overrides:
        setStrokeJoin in class PShape
      • setStrokeCap

        public void setStrokeCap​(int cap)
        Overrides:
        setStrokeCap in class PShape
      • getAmbient

        public int getAmbient​(int index)
        Overrides:
        getAmbient in class PShape
      • setAmbient

        public void setAmbient​(int ambient)
        Overrides:
        setAmbient in class PShape
      • setAmbientImpl

        protected void setAmbientImpl​(int ambient)
      • setAmbient

        public void setAmbient​(int index,
                               int ambient)
        Overrides:
        setAmbient in class PShape
      • getSpecular

        public int getSpecular​(int index)
        Overrides:
        getSpecular in class PShape
      • setSpecular

        public void setSpecular​(int specular)
        Overrides:
        setSpecular in class PShape
      • setSpecularImpl

        protected void setSpecularImpl​(int specular)
      • setSpecular

        public void setSpecular​(int index,
                                int specular)
        Overrides:
        setSpecular in class PShape
      • getEmissive

        public int getEmissive​(int index)
        Overrides:
        getEmissive in class PShape
      • setEmissive

        public void setEmissive​(int emissive)
        Overrides:
        setEmissive in class PShape
      • setEmissiveImpl

        protected void setEmissiveImpl​(int emissive)
      • setEmissive

        public void setEmissive​(int index,
                                int emissive)
        Overrides:
        setEmissive in class PShape
      • getShininess

        public float getShininess​(int index)
        Overrides:
        getShininess in class PShape
      • setShininess

        public void setShininess​(float shininess)
        Overrides:
        setShininess in class PShape
      • setShininessImpl

        protected void setShininessImpl​(float shininess)
      • setShininess

        public void setShininess​(int index,
                                 float shine)
        Overrides:
        setShininess in class PShape
      • getVertexCode

        public int getVertexCode​(int index)
        One of VERTEX, BEZIER_VERTEX, CURVE_VERTEX, or BREAK.
        Overrides:
        getVertexCode in class PShape
      • getTessellation

        public float[] getTessellation​(int kind,
                                       int data)
      • contains

        public boolean contains​(float x,
                                float y)
        Description copied from class: PShape
        Return true if this x, y coordinate is part of this shape. Only works with PATH shapes or GROUP shapes that contain other GROUPs or PATHs.
        Overrides:
        contains in class PShape
      • updateTessellation

        protected void updateTessellation()
      • markForTessellation

        protected void markForTessellation()
      • initModified

        protected void initModified()
      • tessellate

        protected void tessellate()
      • collectPolyAttribs

        protected void collectPolyAttribs()
      • tessellateImpl

        protected void tessellateImpl()
      • tessellatePoint

        protected void tessellatePoint()
      • tessellateLine

        protected void tessellateLine()
      • tessellateTriangle

        protected void tessellateTriangle()
      • tessellateQuad

        protected void tessellateQuad()
      • tessellateRect

        protected void tessellateRect()
      • tessellateEllipse

        protected void tessellateEllipse()
      • tessellateArc

        protected void tessellateArc()
      • tessellateBox

        protected void tessellateBox()
      • tessellateSphere

        protected void tessellateSphere()
      • tessellatePath

        protected void tessellatePath()
      • saveBezierVertexSettings

        protected void saveBezierVertexSettings()
      • restoreBezierVertexSettings

        protected void restoreBezierVertexSettings()
      • saveCurveVertexSettings

        protected void saveCurveVertexSettings()
      • restoreCurveVertexSettings

        protected void restoreCurveVertexSettings()
      • aggregate

        protected void aggregate()
      • aggregateImpl

        protected void aggregateImpl()
      • updatePolyIndexCache

        protected void updatePolyIndexCache()
      • startStrokedTex

        protected boolean startStrokedTex​(int n)
      • setFirstStrokeVertex

        protected void setFirstStrokeVertex​(int n,
                                            int vert)
      • setLastStrokeVertex

        protected void setLastStrokeVertex​(int vert)
      • updateLineIndexCache

        protected void updateLineIndexCache()
      • updatePointIndexCache

        protected void updatePointIndexCache()
      • initBuffers

        protected void initBuffers()
      • initPolyBuffers

        protected void initPolyBuffers()
      • initLineBuffers

        protected void initLineBuffers()
      • initPointBuffers

        protected void initPointBuffers()
      • contextIsOutdated

        protected boolean contextIsOutdated()
      • updateGeometry

        protected void updateGeometry()
      • updateGeometryImpl

        protected void updateGeometryImpl()
      • copyPolyVertices

        protected void copyPolyVertices​(int offset,
                                        int size)
      • copyPolyColors

        protected void copyPolyColors​(int offset,
                                      int size)
      • copyPolyNormals

        protected void copyPolyNormals​(int offset,
                                       int size)
      • copyPolyTexCoords

        protected void copyPolyTexCoords​(int offset,
                                         int size)
      • copyPolyAmbient

        protected void copyPolyAmbient​(int offset,
                                       int size)
      • copyPolySpecular

        protected void copyPolySpecular​(int offset,
                                        int size)
      • copyPolyEmissive

        protected void copyPolyEmissive​(int offset,
                                        int size)
      • copyPolyShininess

        protected void copyPolyShininess​(int offset,
                                         int size)
      • copyLineVertices

        protected void copyLineVertices​(int offset,
                                        int size)
      • copyLineColors

        protected void copyLineColors​(int offset,
                                      int size)
      • copyLineAttributes

        protected void copyLineAttributes​(int offset,
                                          int size)
      • copyPointVertices

        protected void copyPointVertices​(int offset,
                                         int size)
      • copyPointColors

        protected void copyPointColors​(int offset,
                                       int size)
      • copyPointAttributes

        protected void copyPointAttributes​(int offset,
                                           int size)
      • setModifiedPolyVertices

        protected void setModifiedPolyVertices​(int first,
                                               int last)
      • setModifiedPolyColors

        protected void setModifiedPolyColors​(int first,
                                             int last)
      • setModifiedPolyNormals

        protected void setModifiedPolyNormals​(int first,
                                              int last)
      • setModifiedPolyTexCoords

        protected void setModifiedPolyTexCoords​(int first,
                                                int last)
      • setModifiedPolyAmbient

        protected void setModifiedPolyAmbient​(int first,
                                              int last)
      • setModifiedPolySpecular

        protected void setModifiedPolySpecular​(int first,
                                               int last)
      • setModifiedPolyEmissive

        protected void setModifiedPolyEmissive​(int first,
                                               int last)
      • setModifiedPolyShininess

        protected void setModifiedPolyShininess​(int first,
                                                int last)
      • setModifiedLineVertices

        protected void setModifiedLineVertices​(int first,
                                               int last)
      • setModifiedLineColors

        protected void setModifiedLineColors​(int first,
                                             int last)
      • setModifiedLineAttributes

        protected void setModifiedLineAttributes​(int first,
                                                 int last)
      • setModifiedPointVertices

        protected void setModifiedPointVertices​(int first,
                                                int last)
      • setModifiedPointColors

        protected void setModifiedPointColors​(int first,
                                              int last)
      • setModifiedPointAttributes

        protected void setModifiedPointAttributes​(int first,
                                                  int last)
      • disableStyle

        public void disableStyle()
        Description copied from class: PShape
        ( begin auto-generated from PShape_disableStyle.xml ) Disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. ( end auto-generated )

        Advanced

        Overrides this shape's style information and uses PGraphics styles and colors. Identical to ignoreStyles(true). Also disables styles for all child shapes.
        Overrides:
        disableStyle in class PShape
        See Also:
        PShape.enableStyle()
      • enableStyle

        public void enableStyle()
        Description copied from class: PShape
        ( begin auto-generated from PShape_enableStyle.xml ) Enables the shape's style data and ignores Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. ( end auto-generated )
        Overrides:
        enableStyle in class PShape
        See Also:
        PShape.disableStyle()
      • draw

        public void draw​(PGraphics g)
        Description copied from class: PShape
        Called by the following (the shape() command adds the g) PShape s = loadShape("blah.svg"); shape(s);
        Overrides:
        draw in class PShape
      • fragmentedGroup

        protected boolean fragmentedGroup​(PGraphicsOpenGL g)