JavaView© v3.95.000

jv.loader
Interface PgLoaderIf

All Known Implementing Classes:
PgAbcLoader, PgAnsLoader, PgBdLoader, PgByuLoader, PgDxfLoader, PgFeLoader, PgJvxLoader, PgMapleLoader, PgMathLoader, PgObjLoader, PgOffLoader, PgStlLoader, PgWrlLoader, PgXyzLoader

public interface PgLoaderIf

Interface which import loaders of geometric shape from files should implement in order to be accessible from PgLoader. Given a filename extension, PgLoader may automatically check availability of a loader, create a loader and load the geometry respectively animation from that file.

Some file formats allow storage of display information. If an individual loader provides display information then calling methods may make use of it.


Field Summary
static int GEOM_DATA_AUTHOR
          Identifies author information of a geometry, for example, for export.
static int GEOM_DATA_COLORS
          Identifies individual vertex and element colors of a geometry, for example, for export.
static int GEOM_DATA_HEADER
          Identifies header information about creating software, for example, to prepend export files.
static int GEOM_DATA_INFO
          Identifies descriptional information of a geometry, for example, for export.
static int GEOM_DATA_NORMALS
          Identifies individual vertex and element normals of a geometry, for example, for export.
static int GEOM_DATA_TEXTURE
          Identifies texture coordinates and images of a geometry, for example, for export.
static int GEOM_DATA_VECTORS
          Identifies vector fields of a geometry, for example, for export.
 
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 in a container class.
 PgGeometryIf[] getSpecializedGeometries()
          Return the loaded geometry in a more specialized class.
 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.
 PgJvxSrc[] read(java.io.BufferedReader in)
          Read a geometry file and return an array of new geometries.
 void setAnimation(boolean flag)
          Set flag whether current geometry data is considered 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[] geom)
          Write an array of geometries into an output stream writer.
 

Field Detail

GEOM_DATA_HEADER

public static final int GEOM_DATA_HEADER
Identifies header information about creating software, for example, to prepend export files.

See Also:
Constant Field Values

GEOM_DATA_AUTHOR

public static final int GEOM_DATA_AUTHOR
Identifies author information of a geometry, for example, for export.

See Also:
Constant Field Values

GEOM_DATA_INFO

public static final int GEOM_DATA_INFO
Identifies descriptional information of a geometry, for example, for export.

See Also:
Constant Field Values

GEOM_DATA_NORMALS

public static final int GEOM_DATA_NORMALS
Identifies individual vertex and element normals of a geometry, for example, for export.

See Also:
Constant Field Values

GEOM_DATA_COLORS

public static final int GEOM_DATA_COLORS
Identifies individual vertex and element colors of a geometry, for example, for export.

See Also:
Constant Field Values

GEOM_DATA_TEXTURE

public static final int GEOM_DATA_TEXTURE
Identifies texture coordinates and images of a geometry, for example, for export.

See Also:
Constant Field Values

GEOM_DATA_VECTORS

public static final int GEOM_DATA_VECTORS
Identifies vector fields of a geometry, for example, for export.

See Also:
Constant Field Values
Method Detail

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.

Returns:
Double array of JVX geometries.
Since:
JavaView 2.32
See Also:
load(BufferedReader)

getGeometries

public PgJvxSrc[] getGeometries()
Retrieve the previously loaded geometries in a container class.

Using a general container class to return geometric data from a loader frees a loader from knowing about special geometry classes. There exist several ways to exchange geometric data between the container class PgJvxSrc and specialized classes, for example, those found in jv.geom.

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

Returns:
Array of JVX geometries.
Since:
JavaView 2.32
See Also:
load(BufferedReader)

getSpecializedGeometries

public PgGeometryIf[] getSpecializedGeometries()
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 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.

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().

Parameters:
in - BufferedReader to read textual data from.
Returns:
true if parsing was successfull.
Since:
JavaView 2.32
See Also:
getAnimations(), getGeometries(), isAnimation()

read

public PgJvxSrc[] read(java.io.BufferedReader in)
Read a geometry file and return an array of new geometries.

The returned array of geometry may contain keyframes of an animation. This is checked with the method isAnimation().

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.

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

write

public boolean write(java.io.Writer writer,
                     PgJvxSrc[] geom)
              throws java.io.IOException
Write an array of geometries into an output stream writer.

Parameters:
writer - Write all data to this stream
geom - Array with geometries to save
Returns:
true on success.
Throws:
java.io.IOException
See Also:
read(BufferedReader)

getDisplayOption

public PvDisplayOption getDisplayOption()
Get display options which some parsers and geometry file formats supply. Note, not all geometry file formats support saving of display option.

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

See Also:
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. Note, not all geometry file formats support saving of display option.


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.


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).

Returns:
true if loaded data is considered an animation.
See Also:
load(BufferedReader)

setAnimation

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

Parameters:
flag - true if loaded data is an animation.

isEnabledOptimization

public boolean isEnabledOptimization()
Determines if the loaded geometry requires some optimization.

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.

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

JavaView© v3.95.000

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