Public Types | Public Member Functions | Static Public Attributes | List of all members
gltfSetWriter< Type > Class Template Reference

Writes point data in glTF v2 format. More...

Inheritance diagram for gltfSetWriter< Type >:
Inheritance graph
[legend]
Collaboration diagram for gltfSetWriter< Type >:
Collaboration graph
[legend]

Public Types

enum  fieldOption { UNIFORM, FIELD }
 

Public Member Functions

 TypeName ("gltf")
 
 gltfSetWriter ()
 
 gltfSetWriter (const dictionary &dict)
 
virtual ~gltfSetWriter ()=default
 
virtual fileName getFileName (const coordSet &, const wordList &) const
 
virtual void write (const coordSet &, const wordList &, const List< const Field< Type > * > &, Ostream &) const
 
virtual void write (const bool writeTracks, const List< scalarField > &times, const PtrList< coordSet > &, const wordList &valueSetNames, const List< List< Field< Type >>> &, Ostream &) const
 
virtual void writeAnimateTracks (const bool writeTracks, const List< scalarField > &times, const PtrList< coordSet > &tracks, const wordList &valueSetNames, const List< List< Field< Type >>> &valueSets, Ostream &) const
 
virtual void writeStaticTracks (const bool writeTracks, const List< scalarField > &times, const PtrList< coordSet > &tracks, const wordList &valueSetNames, const List< List< Field< Type >>> &valueSets, Ostream &) const
 
- Public Member Functions inherited from writer< Type >
 TypeName ("writer")
 
 declareRunTimeSelectionTable (autoPtr, writer, word,(),())
 
 declareRunTimeSelectionTable (autoPtr, writer, dict,(const dictionary &formatOptions),(formatOptions))
 
 writer ()
 
 writer (const dictionary &dict)
 
virtual ~writer ()=default
 
virtual void write (const coordSet &, const wordList &, const List< Field< Type >> &, Ostream &) const
 
virtual Ostreamwrite (const scalar, Ostream &) const
 
template<class VSType >
OstreamwriteVS (const VSType &, Ostream &) const
 
virtual Ostreamwrite (const vector &, Ostream &) const
 
virtual Ostreamwrite (const sphericalTensor &, Ostream &) const
 
virtual Ostreamwrite (const symmTensor &, Ostream &) const
 
virtual Ostreamwrite (const tensor &, Ostream &) const
 
template<class VSType >
Foam::OstreamwriteVS (const VSType &value, Ostream &os) const
 

Static Public Attributes

static const Enum< fieldOptionfieldOptionNames_
 

Additional Inherited Members

- Static Public Member Functions inherited from writer< Type >
static autoPtr< writerNew (const word &writeFormat)
 
static autoPtr< writerNew (const word &writeFormat, const dictionary &formatOptions)
 
- Protected Member Functions inherited from writer< Type >
fileName getBaseName (const coordSet &, const wordList &) const
 
void writeCoord (const coordSet &, const label sampleI, Ostream &) const
 
void writeTable (const coordSet &, const List< Type > &, Ostream &) const
 
void writeTable (const coordSet &, const List< const List< Type > * > &, Ostream &os) const
 
virtual void writeSeparator (Ostream &os) const
 

Detailed Description

template<class Type>
class Foam::gltfSetWriter< Type >

Writes point data in glTF v2 format.

Two files are generated:

The output can contain both geometry and fields, with additional support for colours using a user-supplied colour map, and animation of particle tracks.

Controls are provided via the optional formatOptions dictionary.

For non-particle track data:

formatOptions
{
    // Apply colours flag (yes | no ) [optional]
    colours     yes;

    // List of options per field
    fieldInfo
    {
        p
        {
            // Colour map [optional]
            colourMap       <colourMap>;

            // Colour map minimum and maximum limits [optional]
            // Uses field min and max if not specified
            min             0;
            max             1;

            // Alpha channel [optional] (uniform | field)
            alpha           uniform;
            alphaValue      0.5;

            //alpha           field;
            //alphaField      T;
            //normalise       yes;
        }
    }
}
\verbatim

For particle tracks:

\verbatim
formatOptions
{
    // Apply colours flag (yes | no) [optional]
    colours     yes;

    // Animate tracks (yes | no) [optional]
    animate     yes;

    // Animation properties [optional]
    animationInfo
    {
        // Colour map [optional]
        colourMap       <colourMap>;

        // Colour [optional] (uniform | field)
        colour          uniform;
        colourValue     (1 0 0); // RGB in range [0-1]

        //colour          field;
        //colourField     d;

        // Colour map minimum and maximum limits [optional]
        // Note: for colour = field option
        // Uses field min and max if not specified
        min             0;
        max             1;

        // Alpha channel [optional] (uniform | field)
        alpha           uniform;
        alphaValue      0.5;

        //alpha           field;
        //alphaField      T;
        //normalise       yes;
    }
}
Note
When writing particle animations, the particle field and colour properties correspond to initial particle state (first data point) and cannot be animated (limitation of the file format).

For more information on the specification see https://www.khronos.org/registry/glTF/

Source files

Definition at line 140 of file gltfSetWriter.H.

Member Enumeration Documentation

◆ fieldOption

enum fieldOption
strong
Enumerator
UNIFORM 

Uniform value.

FIELD 

field value

Definition at line 149 of file gltfSetWriter.H.

Constructor & Destructor Documentation

◆ gltfSetWriter() [1/2]

Definition at line 283 of file gltfSetWriter.C.

◆ gltfSetWriter() [2/2]

gltfSetWriter ( const dictionary dict)
explicit

Definition at line 294 of file gltfSetWriter.C.

◆ ~gltfSetWriter()

virtual ~gltfSetWriter ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "gltf"  )

◆ getFileName()

Foam::fileName getFileName ( const coordSet points,
const wordList valueSetNames 
) const
virtual

Implements writer< Type >.

Definition at line 320 of file gltfSetWriter.C.

References points.

◆ write() [1/2]

void write ( const coordSet points,
const wordList valueSetNames,
const List< const Field< Type > * > &  valueSets,
Ostream os 
) const
virtual

◆ write() [2/2]

void write ( const bool  writeTracks,
const List< scalarField > &  times,
const PtrList< coordSet > &  tracks,
const wordList valueSetNames,
const List< List< Field< Type >>> &  valueSets,
Ostream os 
) const
virtual

Implements writer< Type >.

Definition at line 405 of file gltfSetWriter.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and os().

Here is the call graph for this function:

◆ writeAnimateTracks()

void writeAnimateTracks ( const bool  writeTracks,
const List< scalarField > &  times,
const PtrList< coordSet > &  tracks,
const wordList valueSetNames,
const List< List< Field< Type >>> &  valueSets,
Ostream os 
) const
virtual

◆ writeStaticTracks()

void writeStaticTracks ( const bool  writeTracks,
const List< scalarField > &  times,
const PtrList< coordSet > &  tracks,
const wordList valueSetNames,
const List< List< Field< Type >>> &  valueSets,
Ostream os 
) const
virtual

Member Data Documentation

◆ fieldOptionNames_

const Foam::Enum< typename Foam::gltfSetWriter< Type >::fieldOption > fieldOptionNames_
static

Definition at line 157 of file gltfSetWriter.H.


The documentation for this class was generated from the following files: