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

Class PwModel

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PjWorkshopIf
    Direct Known Subclasses:
    PwModelTwoParm


    public class PwModel
    extends PjWorkshop
    Utility programs for modeling operations on polyhedral surfaces. Contains static functions to, for example, shrink, truncate or stellate a polyhedral surface.
    See Also:
    Serialized Form
    Author:
    Ulrich Reitebuch
    Version:
    22.11.17, 2.61 revised (ur) bugfix in rhombificate method.
    25.06.05, 2.60 revised (kp) Method shrink() no longer breaks with nullPtr when unused vertices exist in geom.
    25.06.05, 2.50 revised (kp) Code optimization by heavily using existing LA methods.
    13.07.04, 2.40 revised (ur) New flag whether to apply modeling or to leave geometry untouched.
    05.10.02, 2.31 revised (kp) Slider increment values made smaller.
    18.09.02, 2.30 revised (ur) New extrude method added.
    08.07.02, 2.20 revised (ur) Added new Method to get the dual PgElementSet.
    06.03.02, 2.10 revised (ur) Method dooSabin moved from this class to PwRefineElementSet.
    28.12.01, 2.00 revised (kp) Full revision when incorporating the new workshop handling.
    24.09.01, 1.70 revised (ur) Now all methods adjust all vector fields and element and vertex textures.
    17.09.01, 1.60 revised (ep) Added vector field support.
    06.06.01, 1.50 revised (ur) New Method dooSabin added.
    05.03.01, 1.41 revised (ur) Adjust element back colors.
    02.03.01, 1.40 revised (ur) Enabled truncating of not oriented PgElementSets.
    14.12.00, 1.30 revised (ur) New Method punch added, tiny changes in method stellate.
    14.11.00, 1.20 revised (ur) Adjust vertex textures and element textures.
    10.11.00, 1.10 revised (ur) Bug in maintaining boundary polygons removed, adjusting of vertex and element colors enabled.
    19.10.99, 1.02 revised (ur) TruncateFill modified to adjust boundary polygons to the new surface, truncate and shrink to set geom.m_bndList.length to zero.
    06.10.99, 1.01 revised (ur) TruncateFill modified to add faces at vertices with only one touching face.
    26.07.99, 1.00 created (ur)
    • Constructor Detail

      • PwModel

        public PwModel(PgElementSet geom)
        Deprecated. use constructor prj=new PwModel();prj.setGeometry(geom);prj.reset();
        Constructor.
      • PwModel

        public PwModel()
        Constructor.
    • Method Detail

      • init

        public void init()
        Initialisation.
        Overrides:
        init in class PjWorkshop
      • reset

        public void reset()
        Reset workshop and geometry to original state.
        Overrides:
        reset in class PjWorkshop
      • setGeometry

        public void setGeometry(PgGeometry geom)
        Overwrite the backup element set, on which the modeling tools will work.
        Specified by:
        setGeometry in interface PjWorkshopIf
        Overrides:
        setGeometry in class PjWorkshop
        Parameters:
        geom - the workshop modifies this geometry.
      • setElementSet

        public void setElementSet(PgElementSet geom)
        Deprecated. use setGeometry(PgGeometry).
        Overwrite the backup elementSet, on which the modeling tools will work.
      • getModelingType

        public int getModelingType()
        Get the current modeling type.
      • setModelingType

        public void setModelingType(int type)
        Set the current modeling type. At the same time the parameter bounds of the previous modeling type are saved to the max/min values.
      • setEnabledModeling

        public void setEnabledModeling(boolean flag)
        Define flag whether to apply current modeling mode to the workshop's geometry.
      • isEnabledModeling

        public boolean isEnabledModeling()
        Return flag whether to apply current modeling mode to the workshop's geometry.
      • shrink

        public static void shrink(PgElementSet geom,
                                  double factor)
        Shrink every face of ElementSet by a constant factor; every face gets its own edges and vertices, all neighbourhood information gets lost.
        Parameters:
        factor - shrinking factor
        Author:
        Ulrich Reitebuch
        Version:
        11.09.01, 1.30 revised (ep) Keep vertex based vector fields.
        10.11.00, 1.20 revised (ur) Adjust vertex textures and element textures.
        07.11.00, 1.10 revised (ur) Use vertex colors of parent vertices for new vertices.
        26.07.99, 1.00 created (ur)
      • stellate

        public static void stellate(PgElementSet geom,
                                    double h)
        Replace every face by a pyramid. Dimension of Elements will be set to 3.
        Parameters:
        h - height of pyramid
        Author:
        Ulrich Reitebuch
        Version:
        13.09.01, 1.30 revised (ep) Handle vertex and element based vector fields.
        14.11.00, 1.20 revised (ur) Adjust vertex textures and element textures.
        07.11.00, 1.10 revised (ur) Use colors of parent faces for new triangles and blend colors for new vertices.
        26.07.99, 1.00 created (ur)
      • truncate

        public static void truncate(PgElementSet geom,
                                    double factor,
                                    boolean newFaces)
        Truncate all vertices.
        Parameters:
        geom - Geometry to operate on.
        factor - blend factor for Vertices
        newFaces - true = replace truncated vertices with new faces
        Author:
        Ulrich Reitebuch
        Version:
        14.06.02, 1.90 revised (ur) Avoid PgVertexStar.makeVertexStar(*,*,-1).
        28.01.02, 1.80 revised (ur) Correct handling of elements at boundaries of not oriented PgElementSets.
        20.ß9.01, 1.70 revised (ur) Adjust Element Textures.
        13.09.01, 1.60 revised (ep) Handle element and vertex based vector fields.
        12.09.01, 1.50 revised (ep) Interpolate vertex colors.
        02.03.01, 1.40 revised (ur) Enabled truncating of not oriented PgElementSets.
        14.11.00, 1.30 revised (ur) Adjust vertex textures.
        10.11.00, 1.20 revised (ur) Adjust colors of elements and vertices; bug in maintaining boundary polygons removed.
        19.04.00, 1.10 revised (kp) Use bndList when accessing boundaries.
        26.07.99, 1.00 created (ur)
      • rhombificate

        public static void rhombificate(PgElementSet geom,
                                        double par)
        Cut all edges and vertices and fill the gaps with new elements. Each edge will be replaced by a quadrilateral, original elements are shrunken and new n-gonal faces are inserted at vertices with n original faces touching.
        Author:
        Ulrich Reitebuch
        Version:
        22.11.17, 1.01 revised (ur) bugfix - recompute neighbourhood before fixing boundary polygons.
        28.06.08, 1.00 created (ur).
      • snubTruncate

        public static void snubTruncate(PgElementSet geom,
                                        double faceFactor,
                                        double edgeFactor)
      • rhombiTruncate

        public static void rhombiTruncate(PgElementSet geom,
                                          double faceFactor,
                                          double edgeFactor)
        Rhombi-Truncate the surface. Each n-face of the geometry will be replaced by a 2n-face, each valence n vertex by a 2n-face and each edge by a quadrilateral.
        Parameters:
        geom - Geometry to operate on.
        faceFactor - factor to move vertices to the face center
        edgeFactor - factor to move vertices to the edge center
        Author:
        Ulrich Reitebuch
        Version:
        08.06.08, 1.00 created (ur)
      • punch

        public static void punch(PgElementSet geom,
                                 double factor)
        Cut out a shrunken copy from every element; the remaining face gets divided into quadrilaterals, each containing one edge of the original element and of the cut-out shrunken copy.
        Parameters:
        factor - shrinking factor for the cut-out element.
        Author:
        Ulrich Reitebuch
        Version:
        20.09.01, 1.10 revised (ur) Adjust Vector Fields.
        13.12.00, 1.00 created (ur)
      • dual

        public static void dual(PgElementSet geom)
        Get the dual PgElementSet: Each vertex will be replaced by an element, having the center points of the adjacent elements as vertices; new boundary elements get two additional vertices at the boundary edge midpoints, if the vertex had only one adjacent element, the new element will contain also the old vertex. Each element will be replaced by a vertex at its center.

        Create new boundary only when original geometry has boundary.

        Author:
        Ulrich Reitebuch
        Version:
        07.07.04, 1.20 revised (ur) Hold Boundary polygon end points.
        30.03.03, 1.10 revised (kp) Vertex and element normals transferred to dual mesh.
        05.07.02, 1.00 created (ur)
      • extrude

        public static void extrude(PgElementSet geom,
                                   double factor)
        Reduplicate geometry with vertices at the tips of the vertex normals and fill the gaps at the boundaries with quadrilaterals.
        Parameters:
        factor - Factor to multiply vertex normals with.
        Author:
        Ulrich Reitebuch
        Version:
        04.09.02, 1.00 created (ur)
      • extrude

        public static void extrude(PgElementSet geom,
                                   double factor,
                                   boolean bExtrudeSymmetric)
        Reduplicate geometry with vertices at the tips of the vertex normals and fill the gaps at the boundaries with quadrilaterals.
        Parameters:
        factor - Factor to multiply vertex normals with.
        bExtrudeSymmetric - Specify if the original vertices shall be moved in -normal direction.
        Author:
        Ulrich Reitebuch
        Version:
        29.05.09, 1.10 revised (ur) New parameter for symmetric extrusion, orientation flipped.
        04.09.02, 1.00 created (ur)
"JavaView? v5.03.003"

"

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

You see the box below because you did not login.