JavaView© v3.95.000

jv.loader
Class PgMapleLoader

java.lang.Object
  extended byjv.loader.PgMapleLoader
All Implemented Interfaces:
PgLoaderIf

public final class PgMapleLoader
extends java.lang.Object
implements PgLoaderIf

Loader for Maple plots which were exported from Maple using JavaViewLib or direct export techniques provides by Maple.

This loader carefully reads most Maple graphics properties and converts them to JavaView equivalent representation.

The MPL format supported by this loader work bi-directional and can, for example, be re-imported into Maple as Maple plot.

Parsing of some properties like label fonts or axes tickmarks may not be implemented yet.


Field Summary
 
Fields inherited from interface jv.loader.PgLoaderIf
GEOM_DATA_AUTHOR, GEOM_DATA_COLORS, GEOM_DATA_HEADER, GEOM_DATA_INFO, GEOM_DATA_NORMALS, GEOM_DATA_TEXTURE, GEOM_DATA_VECTORS
 
Constructor Summary
PgMapleLoader()
           
 
Method Summary
 PgJvxSrc[][] getAnimations()
          Retrieve the previously loaded animations.
 PvDisplayOption getDisplayOption()
          Get display options which some parsers and geometry file formats supply.
 PgJvxSrc[] getGeometries()
          Retrieve the previously loaded geometries.
 PgGeometryIf[] getSpecializedGeometries()
          Currently, this method always returns null.
 boolean isAnimation()
          Determine if currently loaded data is an animation.
 boolean isEnabledOptimization()
          Determines if the loaded geometry requires some optimization.
 boolean load(java.io.BufferedReader in)
          Read a geometry file containing a set of geometries or animations.
static boolean makeEdgeColorsFromXYZ(PgJvxSrc geom, int dimCol, PdVector[] bnd)
          Create color from the edge position within its bounding box which is interpreted as RGB cube.
static boolean makePolygonColorsFromXYZ(PgJvxSrc geom, int dimCol, PdVector[] bnd)
          Create color from the edge position within its bounding box which is interpreted as RGB cube.
static boolean makeVertexColorsFromXYZ(PgJvxSrc geom, int dimCol, PdVector[] bnd)
          Create color from the edge position within its bounding box which is interpreted as RGB cube.
static boolean makeVertexColorsFromZ(PgJvxSrc geom, java.awt.Color colLow, java.awt.Color colHigh, PdVector[] bnd)
          Create color from the vertical z-height within its bounding box ranging from low blue to high red.
static boolean makeVertexColorsFromZHue(PgJvxSrc geom, PdVector[] bnd)
          Create color from the vertical z-height within its bounding box ranging through hue rainbow.
 PgJvxSrc[] read(java.io.BufferedReader in)
          Read Maple graphics data.
static PgJvxSrc[] read(java.lang.String fileName)
          Read geometry file in Maple graphic file format.
 void setAnimation(boolean flag)
          Set flag whether current geometry data is an animation.
 void setDisplayOption(PvDisplayOption option)
          Set the display options to be saved within the geometry file.
 void setGeometryOption(java.util.BitSet option)
          Set the geometry options which indicate which parts of a geometry shall be saved.
 boolean write(java.io.Writer writer, PgJvxSrc[] geomArr)
          Write an array of geometries into an output stream writer in Maple PLOT/PLOT3D file format, called MPL.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PgMapleLoader

public PgMapleLoader()
Method Detail

isEnabledOptimization

public boolean isEnabledOptimization()
Determines if the loaded geometry requires some optimization. The method in this class allows optimization and always returns true.

For example, some file formats do not store a connected mesh but provide individual vertices for each face every time the face is menetioned. In this case, a loader manager may identify equal vertices.

A similar method in the loader manager PgLoader may override the individual settings of each loader.

Specified by:
isEnabledOptimization in interface PgLoaderIf
Returns:
true if loader is enabled for optimization.
Since:
JavaView 2.99.018
See Also:
PgLoader.isEnabledOptimization(), PgLoader.setEnabledOptimization(boolean)

setGeometryOption

public void setGeometryOption(java.util.BitSet option)
Set the geometry options which indicate which parts of a geometry shall be saved. This method must be called before writing the geometry. Note, not all geometry file formats support geometry options.

Specified by:
setGeometryOption in interface PgLoaderIf
Since:
JavaView 2.68.000

getDisplayOption

public PvDisplayOption getDisplayOption()
Get display options which some parsers and geometry file formats supply.

Specified by:
getDisplayOption in interface PgLoaderIf
See Also:
PgLoaderIf.load(BufferedReader)

setDisplayOption

public void setDisplayOption(PvDisplayOption option)
Set the display options to be saved within the geometry file. This method must be called before writing the geometry. Currently, this loader does not support saving of display options.

Specified by:
setDisplayOption in interface PgLoaderIf

isAnimation

public boolean isAnimation()
Determine if currently loaded data is an animation.

This method may be called after successful parsing an input stream with the method load(BufferedReader).

Specified by:
isAnimation in interface PgLoaderIf
Returns:
true if loaded data is an animation.
See Also:
load(BufferedReader)

setAnimation

public void setAnimation(boolean flag)
Set flag whether current geometry data is an animation.

Specified by:
setAnimation in interface PgLoaderIf
Parameters:
flag - true if loaded data is an animation.

getAnimations

public PgJvxSrc[][] getAnimations()
Retrieve the previously loaded animations.

This method may be called after successful parsing an input stream with the method load(BufferedReader) and if isAnimation() returns true.

Specified by:
getAnimations in interface PgLoaderIf
Returns:
Double array of JVX geometries.
See Also:
load(BufferedReader)

getGeometries

public PgJvxSrc[] getGeometries()
Retrieve the previously loaded geometries.

This method may be called after successful parsing an input stream with the method load(BufferedReader) and if isAnimation() returns false.

Specified by:
getGeometries in interface PgLoaderIf
Returns:
Array of JVX geometries.
See Also:
load(BufferedReader)

getSpecializedGeometries

public PgGeometryIf[] getSpecializedGeometries()
Currently, this method always returns null.

Return the loaded geometry in a more specialized class. This method allows a loader to return a geometry class which best fits the data found in a geometry file.

The loader manager jv.loader.PgLoader in JavaView will first check if a loader returns specialized geometies, and if not, check for a data supplied in a container class PgJvxSrc.

This method may be called after successful parsing an input stream with the method load(BufferedReader) and if isAnimation() returns false.

Specified by:
getSpecializedGeometries in interface PgLoaderIf
Returns:
Array of geometries whose actual class type may vary between loaders.
Since:
JavaView 2.53
See Also:
getGeometries()

load

public boolean load(java.io.BufferedReader in)
Read a geometry file containing a set of geometries or animations.

After successful parsing retrieve the loaded geometries or animations using the methods getGeometries() respectively getAnimations() depending on the return value of the method isAnimation().

Specified by:
load in interface PgLoaderIf
Parameters:
in - BufferedReader to read textual data from.
Returns:
true if parsing was successfull.
See Also:
getAnimations(), getGeometries(), isAnimation()

read

public static PgJvxSrc[] read(java.lang.String fileName)
Read geometry file in Maple graphic file format.


read

public PgJvxSrc[] read(java.io.BufferedReader in)
Read Maple graphics data.

Alternatively, one may call load(BuffereredReader) followed by getGeometries() resp. getAnimations() to have a finer control about which information one wants to use from a source. For example, optional display information must be retrieve by a subsequent call getDisplayOption() if available.

Specified by:
read in interface PgLoaderIf
Parameters:
in - BufferedReader to read textual data from.
Returns:
Array of JVX geometries.
See Also:
PgLoaderIf.write(Writer, PgJvxSrc [])

makePolygonColorsFromXYZ

public static boolean makePolygonColorsFromXYZ(PgJvxSrc geom,
                                               int dimCol,
                                               PdVector[] bnd)
Create color from the edge position within its bounding box which is interpreted as RGB cube. If dimension of vertices is smaller than three then only the first vertex components are used in the color computation.


makeEdgeColorsFromXYZ

public static boolean makeEdgeColorsFromXYZ(PgJvxSrc geom,
                                            int dimCol,
                                            PdVector[] bnd)
Create color from the edge position within its bounding box which is interpreted as RGB cube. If dimension of vertices is smaller than three then only the first vertex components are used in the color computation.

Since:
JavaView 2.69

makeVertexColorsFromXYZ

public static boolean makeVertexColorsFromXYZ(PgJvxSrc geom,
                                              int dimCol,
                                              PdVector[] bnd)
Create color from the edge position within its bounding box which is interpreted as RGB cube. If dimension of vertices is smaller than three then only the first vertex components are used in the color computation.


makeVertexColorsFromZ

public static boolean makeVertexColorsFromZ(PgJvxSrc geom,
                                            java.awt.Color colLow,
                                            java.awt.Color colHigh,
                                            PdVector[] bnd)
Create color from the vertical z-height within its bounding box ranging from low blue to high red. If dimension of vertices is smaller than three then the highest vertex component are used instead of the z-component in the color computation.


makeVertexColorsFromZHue

public static boolean makeVertexColorsFromZHue(PgJvxSrc geom,
                                               PdVector[] bnd)
Create color from the vertical z-height within its bounding box ranging through hue rainbow. If dimension of vertices is smaller than three then the highest vertex component are used instead of the z-component in the color computation.


write

public boolean write(java.io.Writer writer,
                     PgJvxSrc[] geomArr)
              throws java.io.IOException
Write an array of geometries into an output stream writer in Maple PLOT/PLOT3D file format, called MPL.

Numbers with absolute value less than jv.vecmath.PuMath#EPS are shown as zero. This avoids the anoying fact that double precision numbers fill the whole text area hiding the exponent, which hides their small value.

Specified by:
write in interface PgLoaderIf
Parameters:
writer - Write all data to this stream
geomArr - Array with geometries to save
Returns:
true on success.
Throws:
java.io.IOException
See Also:
read(BufferedReader)

JavaView© v3.95.000

The software JavaView© is copyright protected. All Rights Reserved.