Documentation of 'jvx.geom.PwTexture' Java class
PwTexture ("JavaView Reference Manual")
"JavaView? v5.03.003"
jvx.geom

Class PwTexture

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PjWorkshopIf


    public class PwTexture
    extends PjWorkshop
    Utility class for generation of surface textures.
    See Also:
    Serialized Form
    Author:
    Konrad Polthier, Ulrich Reitebuch
    Version:
    21.06.03, 2.00 revised (kp) Implementation as workshop.
    19.02.02, 1.00 created (ur)
    • Field Detail

      • m_defQuadTexture

        public static java.lang.String m_defQuadTexture
        Default texture for quadrilateral and higher elements.
      • m_defTriTexture

        public static java.lang.String m_defTriTexture
        Default texture for triangular elements.
      • m_defDijkstraTexture

        public static java.lang.String m_defDijkstraTexture
        Default texture for triangular elements.
    • Constructor Detail

      • PwTexture

        public PwTexture()
        Constructor.
    • Method Detail

      • init

        public void init()
        Resets all properties to default values.
        Overrides:
        init in class PjWorkshop
      • setGeometry

        public void setGeometry(PgElementSet geom)
        Assign an element set which must be a triangulation.

        Geometry is triangulated if it is no triangulation.

        Parameters:
        geom - may be null to indicate that the geometry shall be removed from this workshop.
        Version:
        21.02.04, 1.20 revised (kp) Triangulate geometry if it is no triangulation.
        21.02.04, 1.10 revised (kp) Call super.setGeometry() to allow cancel of workshop.
      • makePatchTexture

        public static void makePatchTexture(PgElementSet geom)
        Assign same texture image to each element of a geometry. Currently, method requires that all elements are either triangles or quadrilaterals.

        Method assigns a texture to the geometry if not available. Texture image is either set to PwTexture#m_defTriTexture for triangulations, or to PwTexture#m_defQuadTexture.

        Author:
        Konrad Polthier
        Version:
        05.06.02, 1.00 created (kp)
      • makeDijkstraTexture

        public static void makeDijkstraTexture(PgElementSet geom)
        Generate element texture showing lines through all mid points of edges with different Dijkstra values at their ends.

        Method assigns a texture to the geometry if not available. Texture image is set to PwTexture#m_defDijkstraTexture.

        Author:
        Ulrich Reitebuch
        Version:
        21.06.03, 1.10 revised (kp) Avoid intermediate object allocations.
        19.02.02, 1.00 created (ur)
      • makeThresholdTexture

        public static void makeThresholdTexture(PgElementSet geom,
                                                PdVector value,
                                                double threshold)
        Generate element texture by scalar data per vertex and a threshold value. The texture coordinates will put the threshold value to the center of the texture image.

        Method assigns a texture to the geometry if not available. // * Texture image is set to PwTexture#m_defDijkstraTexture.

        Author:
        Ulrich Reitebuch
        Version:
        20.09.07, 1.00 created (ur)
      • makeThresholdTexture

        public static void makeThresholdTexture(PgElementSet geom,
                                                PdVector[] value,
                                                double[] threshold)
        Generate element texture by two sets of scalar data per vertex and two thresholds. The first pair of threshold and scalar data will be used for the u coordinate, the second pair for the v coordinate.The texture coordinates will put the threshold values to the center of the texture image.

        The value and threshold arrays should have size 2. Method assigns a texture to the geometry if not available. // * Texture image is set to PwTexture#m_defDijkstraTexture.

        Author:
        Ulrich Reitebuch
        Version:
        20.09.07, 1.00 created (ur)
      • getLicSize

        public int getLicSize()
        Get length of the longest edge of triangles in texture domain. Used in burn().
        See Also:
        burn()
      • setLicSize

        public void setLicSize(int size)
        Set length of the longest edge of triangles in texture domain. Used in burn().
        See Also:
        burn()
      • burn

        public void burn()
        Burns surface colors to a new texture image using element textures. Elements are laid out in the plane and the maximal edges size measured in pixels is given by setLicSize().

        Methods requires an assigned elementSet and a display.

        HACK: Vertical gap between triangle rows is currently determined by static variable VGAP.

        See Also:
        setLicSize(int), setGeometry(jv.geom.PgElementSet)
      • compactPeriodicTextures

        public static void compactPeriodicTextures(PdVector[][] texture)
        Translate texture coordinates of each element by an integer vector, such that the texture coordinates are close to 0. This makes sense for periodic, element based textures.
        Author:
        Felix Kaelberer
        Version:
        24.05.2013, 1.01 moved here from jvx.PgUtil (ur) 22.10.2008, 1.00 created (fk)
      • makeElementTextureCoords

        public static double[] makeElementTextureCoords(PgElementSet geom,
                                                        int maxwidth)
        Calculates element texture coordinates for triangulation. Puts triangles in lines with longest edges at top.
        Parameters:
        geom - triangulation
        maxwidth - length of the longest edge of triangles in texture domain
        Returns:
        [(scaling factor from worldcoords to pixel)/(pixelwidth of texture)/(pixelheight of texture)]
        Version:
        15.04.06, 2.00 revised (kp) Method moved to PwTexture from jvx.numeric.PnLIC.
        21.06.03, 1.11 revised (kp) Method made public.
        09.03.00, 1.10 revised (ep) Work around setElementTexCoord calls and call setElementTextures instead.
"JavaView? v5.03.003"

"

The software JavaView? is copyright protected. All Rights Reserved.
"

Ads help maintain this website.