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

Class PgPolygonSetOnElementSet

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


    public class PgPolygonSetOnElementSet
    extends PgPolygonSet
    Basic class for collections of lines and polygons. It is similar to PgPolygonSet except that the vertices are stored with their barycentric coordinates on a given element set.
    See Also:
    Serialized Form
    Author:
    Matthias Nieser
    Version:
    04.09.2006, 1.00 created (mn)
    • Constructor Detail

      • PgPolygonSetOnElementSet

        public PgPolygonSetOnElementSet(PgElementSet geom)
        Constructor of a polygon set in three-dimensional space.
      • PgPolygonSetOnElementSet

        public PgPolygonSetOnElementSet(PgElementSet geom,
                                        int aVertexDim)
        Deprecated. JavaView 3.97.040, since dimension of vertices must be equal to geometry.
        Constructor of a polygon set in a space of given dimension.
    • Method Detail

      • init

        public void init()
        Initialize and reset instance variables after call to super.init().
        Overrides:
        init in class PgPolygonSet
      • getGeometry

        public PgElementSet getGeometry()
        Get the underlying geometry.
      • setGeometry

        public void setGeometry(PgElementSet geom)
        Assign a new underlying simplicial surface. Method returns with warning if surface is not a triangulation.
        Version:
        04.08.06, 2.00 created (mn) From jv.geom.PgPolygonSet.
        22.10.05, 1.10 revised (kp) Return with warning if geometry is not triangulated.
      • clone

        public java.lang.Object clone()
        Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners. The parent relationship is maintained only within this class but not to external classes. In general, all links of the clone to external objects are set to null except to the base geometry whose reference is kept.
        Specified by:
        clone in interface PgGeometryIf
        Overrides:
        clone in class PgPolygonSet
        See Also:
        copy(PsObject)
        Version:
        04.08.06, 1.00 created (mn)
      • copy

        public void copy(PsObject object)
        Copy instance variables by duplication, not by copying a reference. Reference to base geometry is not changed.
        Overrides:
        copy in class PgPolygonSet
        See Also:
        clone()
        Version:
        04.08.06, 1.00 created (mn)
      • merge

        public boolean merge(PgGeometryIf aGeom)
        Merge polygon set with current object and store union of both objects in 'this'. Number of points and polygons is the sum of both objects.

        The merged geometry will local colors allocated and assignd if

                        1. both the global color of both geometries are different, or
                        2. either geometry has local colors.
         
        If local colors are allocated but one of the geometries does not have local colors then its local colors are be assumed to be its global color. The merged geometry will show globalVertexColors if
                        1. the global color of both geometries is the same, and
                        2. both geometries are showing the global color.
         
        In all other cases the merged geometry will show local colors. The global color of the merged geometry is never changed.
        Specified by:
        merge in interface PgGeometryIf
        Overrides:
        merge in class PgPolygonSet
        Parameters:
        aGeom - Polygon set to be merged into 'this'
        Returns:
        true if method was successfull
        Version:
        09.12.06, 2.00 revised (kp) Allocation of superclass respected. 04.08.06, 1.00 created (mn) From jv.geom.PgPolygonSet.
      • blend

        public boolean blend(double s,
                             PgGeometry ag,
                             double t,
                             PgGeometry bg)
        Blend between two polygon sets using this = s*ag + t*bg.
        Specified by:
        blend in interface PgGeometryIf
        Overrides:
        blend in class PgPolygonSet
        Parameters:
        s - weight of vertices of first geometry
        ag - first geometry used for blending
        t - weight of vertices of second geometry
        bg - second geometry used for blending
        Returns:
        true on success
        Version:
        09.12.06, 2.00 revised (kp) Superclass respected. 04.08.06, 1.00 created (mn) From jv.geom.PgPolygonSet.
      • setMaxNumVertices

        public void setMaxNumVertices(int numVertices)
        Allocate given number of vertices, and allocate normals, colors etc. if they already exist. All vertex allocation is done in this method. Method should not be called directly unless a specific allocation is required. Usually, a user would specify the number of vertices via setNumVertices().
        Overrides:
        setMaxNumVertices in class PgPointSet
        Version:
        04.08.06, 1.00 created (mn)
      • getVertexBary

        public PdBary[] getVertexBary()
        Get array of barycentric positions for read and write access, but do not modify the size of any vector.

        Note, that the actual size of the vertex array may differ from getNumVertices() for efficiency reasons. Therefore, do not use bary.length but use getNumVertices().

        Note, the array is void as soon as the number of vertices changes. After issuing setNumVertices(int) then call this method again.

        Version:
        04.08.06, 1.00 created (mn) Copied from PgPointSetOnElementSet.
      • getVertexBary

        public PdBary getVertexBary(int vertInd)
        Get barycentric coordinates of the vertex at given index.
        Parameters:
        vertInd - Index of vertex.
        Returns:
        Barycentric coordinates of vertex.
        See Also:
        getVertexElemInd(int)
        Version:
        04.08.06, 1.00 created (mn) Copied from PgPointSetOnElementSet.
      • getVertexElemInd

        public int getVertexElemInd(int vertInd)
        Get element index of the vertex at given index.
        Parameters:
        vertInd - index of vertex
        Returns:
        element index of given vertex
        See Also:
        getVertexBary(int)
        Version:
        04.08.06, 1.00 created (mn) Copied from PgPointSetOnElementSet.
      • setVertexBary

        public void setVertexBary(int vertInd,
                                  int elemInd,
                                  PdBary bary)
        Set barycentric coordinate and element index of vertex at given index, and also update the position of the corresponding vertex. Barycentric coordinate is copied into another PdBary instance.
        Parameters:
        vertInd - Vertex index in vertex array.
        elemInd - Global element index where the vertex shall lie on.
        bary - Barycentric coordinates of vertex within the given element.
        Version:
        04.08.06, 3.00 created (mn) Copied from PgPointSetOnElementSet. 21.08.06, 2.10 revised (kp) Improved checks for consistency of indices.
      • setVertexBary

        public void setVertexBary(int vertInd,
                                  PdBary bary)
        Set barycentric coordinate and element index of vertex at given index, and also update the position of the corresponding vertex. Element index is contained in parameter bary.
        Parameters:
        vertInd - Vertex index in vertex array.
        bary - Barycentric coordinates of vertex within the given element.
        Version:
        04.08.06, 3.00 created (mn) Copied from PgPointSetOnElementSet. 21.08.06, 2.10 revised (kp) Update position of vertex too.
      • computeVertices

        public void computeVertices()
        Compute all geometric vertex positions on the base surface from barycentric coordinates.
        Version:
        04.08.06, 2.00 created (mn) Copied from PgPointSetOnElementSet. 16.04.06, 1.00 created (kp)
      • addPolygonBary

        public int addPolygonBary(PgPolygonOnElementSet poly)
        Add a polygon to the polygon set. Its vertices will be appended to the vertex list.
        Returns:
        Index of the appended polygon.
        Author:
        Matthias Nieser
        Version:
        05.08.06, 1.00 created (mn)
      • removeUnusedVertices

        public boolean removeUnusedVertices()
        Remove all points not referenced by polygons. First, the method computes where each point is moved to, then all point data is moved and the vertex indices are changed. This routine is O(n).
        Overrides:
        removeUnusedVertices in class PgPolygonSet
        Returns:
        true if method was successful
        Author:
        Konrad Polthier
        Version:
        31.10.13, 1.20 revised (ur) Copied from super class and completed.
        19.01.05, 1.10 revised (kp) Remove affected vectors from vectorFields.
        23.09.99, 1.00 created (kp)
"JavaView? v5.03.003"

"

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

Ads help maintain this website.