AlembicCurvesReader (object)

The AlembicCurvesReader specializes the AlembicObjectReader interface for reading AlembicICurves data. It can be created using the AlembicArchiveReader.getCurves method.

AlembicCurvesReader AlembicCurvesReader AlembicCurvesReader AlembicBaseObjectReader AlembicBaseObjectReader AlembicCurvesReader->AlembicBaseObjectReader AlembicGeometryReader AlembicGeometryReader AlembicCurvesReader->AlembicGeometryReader AlembicObjectReader AlembicObjectReader AlembicBaseObjectReader->AlembicObjectReader

/*
** Example: AlembicCurvesReader
*/

require AlembicWrapper;
require FileIO;

operator entry() {
  
  FilePath path = FilePath('${FABRIC_SCENE_GRAPH_DIR}/Python/Apps/Resources/Alembic/furmonster.abc').expandEnvVars();

  AlembicArchiveReader archive(path.string());
  String curvesPaths[] = archive.getPathsOfType('Curves');

  for(Size i=0;i<curvesPaths.size();i++) {

    AlembicCurvesReader curves = archive.getCurves(curvesPaths[i]);
    report('samples: '+curves.getNumSamples());

    Lines lines = Lines();
    curves.readSample(2.4, lines);

    report(lines.pointCount());
    report(lines.lineCount());
  }

}

/*
** Output:

samples: 1
1100000
1000000

*/

Methods

  AlembicCurvesReader ( in AlembicCurvesReader other )
  AlembicCurvesReader ()
Boolean areSelfBoundsConstant ? ()
AlembicCurvesReader clone ? ()
SInt32 getNumSamples ? ()
String getPath ? ()
AlembicICurvesSample getSampleA ? ()
AlembicICurvesSample getSampleB ? ()
AlembicICurvesSchema getSchema ? ()
Box3 getSelfBounds ! ( in Float64 time, io Boolean isConstant )
AlembicTimeSampling getTimeSampling ? ()
  readSample ! ( in Float64 time, io Curves geom )
  readSample ! ( in Float64 time, io Geometry geom )
  readSample ! ( in Float64 time, io Lines lines )
  reset ! ()
Boolean valid ? ()

Methods in detail

AlembicCurvesReader ( in AlembicCurvesReader other )

copy constructor


AlembicCurvesReader ()

default constructor


Boolean AlembicCurvesReader.areSelfBoundsConstant? ()

Returns true if the bounds of this object, excluding the children, are constant


AlembicCurvesReader AlembicCurvesReader.clone? ()

clone method


SInt32 AlembicCurvesReader.getNumSamples? ()

returns the number of samples of this reader


String AlembicCurvesReader.getPath? ()

returns the full path of the wrapped AlembicICurves


AlembicICurvesSample AlembicCurvesReader.getSampleA? ()

returns the first sample used by this reader


AlembicICurvesSample AlembicCurvesReader.getSampleB? ()

returns the second sample used by this reader


AlembicICurvesSchema AlembicCurvesReader.getSchema? ()

returns the schema of this reader


Box3 AlembicCurvesReader.getSelfBounds! ( in Float64 time, io Boolean isConstant )

returns the bounding box


AlembicTimeSampling AlembicCurvesReader.getTimeSampling? ()

returns the timesampling of this reader


AlembicCurvesReader.readSample! ( in Float64 time, io Curves geom )

reads a sample at a given time. this will properly interpolate between samples. the result is stored in the provided Curves geometry.


AlembicCurvesReader.readSample! ( in Float64 time, io Geometry geom )

Reads a geometry sample at a given time


AlembicCurvesReader.readSample! ( in Float64 time, io Lines lines )

reads a sample at a given time. this will properly interpolate between samples. the result is stored in the provided Lines geometry.


AlembicCurvesReader.reset! ()

clears all pointers and releases all alembic containers


Boolean AlembicCurvesReader.valid? ()

returns true if this reader wraps a valid AlembicICurves