Class Region

  • Direct Known Subclasses:
    GLRegion

    public abstract class Region
    extends Object
    Abstract Outline shape representation define the method an OutlineShape(s) is bound and rendered.
    See Also:
    GLRegion
    • Field Detail

      • DEBUG

        public static final boolean DEBUG
        Debug flag for region impl (graph.curve)
      • DEBUG_INSTANCE

        public static final boolean DEBUG_INSTANCE
      • MSAA_RENDERING_BIT

        public static final int MSAA_RENDERING_BIT
        Rendering-Mode bit for Region

        MSAA based Anti-Aliasing, a two pass region rendering, slower and more resource hungry (FBO), but providing fast MSAA in case the whole scene is not rendered with MSAA.

        See Also:
        Constant Field Values
      • VBAA_RENDERING_BIT

        public static final int VBAA_RENDERING_BIT
        Rendering-Mode bit for Region

        View based Anti-Aliasing, a two pass region rendering, slower and more resource hungry (FBO), but AA is perfect. Otherwise the default fast one pass MSAA region rendering is being used.

        See Also:
        Constant Field Values
      • VARWEIGHT_RENDERING_BIT

        public static final int VARWEIGHT_RENDERING_BIT
        Rendering-Mode bit for Region

        Use non uniform weights [0.0 .. 1.9] for curve region rendering. Otherwise the default weight 1.0 for uniform curve region rendering is being applied.

        See Also:
        Constant Field Values
      • COLORCHANNEL_RENDERING_BIT

        public static final int COLORCHANNEL_RENDERING_BIT
        Rendering-Mode bit for Region

        If set, a color channel attribute per vertex is added to the stream, otherwise only the static color is being used.

        See Also:
        Constant Field Values
      • COLORTEXTURE_RENDERING_BIT

        public static final int COLORTEXTURE_RENDERING_BIT
        Rendering-Mode bit for Region

        If set, a color texture is used to determine the color.

        See Also:
        Constant Field Values
      • DEFAULT_TWO_PASS_TEXTURE_UNIT

        public static final int DEFAULT_TWO_PASS_TEXTURE_UNIT
        See Also:
        Constant Field Values
    • Method Detail

      • isVBAA

        public static boolean isVBAA​(int renderModes)
      • isMSAA

        public static boolean isMSAA​(int renderModes)
      • isTwoPass

        public static boolean isTwoPass​(int renderModes)
      • hasVariableWeight

        public static boolean hasVariableWeight​(int renderModes)
        Returns true if render mode capable of variable weights, i.e. the bit VARWEIGHT_RENDERING_BIT is set, otherwise false.
      • hasColorChannel

        public static boolean hasColorChannel​(int renderModes)
        Returns true if render mode has a color channel, i.e. the bit COLORCHANNEL_RENDERING_BIT is set, otherwise false.
      • hasColorTexture

        public static boolean hasColorTexture​(int renderModes)
        Returns true if render mode has a color texture, i.e. the bit COLORTEXTURE_RENDERING_BIT is set, otherwise false.
      • getRenderModeString

        public static String getRenderModeString​(int renderModes)
      • getQuality

        public final int getQuality()
      • setQuality

        public final void setQuality​(int q)
      • isVBAA

        public final boolean isVBAA()
        Returns true if capable of two pass rendering - VBAA, otherwise false.
      • isMSAA

        public final boolean isMSAA()
        Returns true if capable of two pass rendering - MSAA, otherwise false.
      • hasVariableWeight

        public final boolean hasVariableWeight()
        Returns true if capable of variable weights, otherwise false.
      • hasColorChannel

        public boolean hasColorChannel()
        Returns true if render mode has a color channel, i.e. the bit COLORCHANNEL_RENDERING_BIT is set, otherwise false.
      • hasColorTexture

        public boolean hasColorTexture()
        Returns true if render mode has a color texture, i.e. the bit COLORTEXTURE_RENDERING_BIT is set, otherwise false.
      • addOutlineShape

        public final void addOutlineShape​(OutlineShape shape,
                                          jogamp.graph.geom.plane.AffineTransform t,
                                          float[] rgbaColor)
        Add the given OutlineShape to this region with the given optional AffineTransform.

        In case frustum culling is set, the OutlineShape is dropped if it's bounding-box is fully outside of the frustum. The optional AffineTransform is applied to the bounding-box beforehand.

        Parameters:
        rgbaColor - TODO
      • addOutlineShapes

        public final void addOutlineShapes​(List<OutlineShape> shapes,
                                           jogamp.graph.geom.plane.AffineTransform transform,
                                           float[] rgbaColor)
      • getBounds

        public final AABBox getBounds()
        Returns:
        the AxisAligned bounding box of current region
      • markShapeDirty

        public final void markShapeDirty()
        Mark this region's shape dirty, i.e. it's Vertices, Triangles, and or Lines changed.
      • isShapeDirty

        public final boolean isShapeDirty()
        Returns true if this region's shape are dirty, see markShapeDirty().
      • markStateDirty

        public final void markStateDirty()
        Mark this region's state dirty, i.e. it's render attributes or parameters changed.
      • isStateDirty

        public final boolean isStateDirty()
        Returns true if this region's state is dirty, see markStateDirty().