AlembicArchiveReader.kl

Types

AlembicLockBracket (struct)

This lock bracket is required when accessing Alembic, since files using HDF5 don’t support multithreading.

Members

Ref<AlembicLock> alembicLock  

AlembicArchiveReader (object)

The AlembicArchiveReader is a wrapper for the AlembicIArchive. It provides access to the higher level reader objects such as the AlembicXformReader, for example.

/*
** Example: AlembicArchiveReader
*/

require AlembicWrapper;
require FileIO;

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

  AlembicArchiveReader archive(path.string());

  report(archive.valid());
  report(archive.getPath());
  report(archive.getTimeRange());
  String meshes[] = archive.getPathsOfType('PolyMesh');
  for(Size i=0;i<meshes.size();i++)
    report(meshes[i]);
}

/*
** Output:

true
D:\fabric\release/Python/Apps/Resources/Alembic/face.abc
{x:+10.56666,y:+21.33333}
/Mesh_T_Teeth_Pc-Sd1_Xfo/Mesh_T_Teeth_Pc-Sd1_
/Mesh_B_Teeth_Pc-Sd1_Xfo/Mesh_B_Teeth_Pc-Sd1_
/Mesh_X_Head_Pc-Sd1_Xfo/Mesh_X_Head_Pc-Sd1_
/Mesh_L_Eye_Pc-Sd1_Xfo/Mesh_L_Eye_Pc-Sd1_
/Mesh_R_Eye_Pc-Sd1_Xfo/Mesh_R_Eye_Pc-Sd1_

*/

Methods

  AlembicArchiveReader ( in AlembicArchiveReader other )
  AlembicArchiveReader ( in String fileName )
  AlembicArchiveReader ()
AlembicArchiveReader clone ? ()
AlembicPropertyReader createPropertyReader ? ( in Ref<AlembicICompoundProperty> parent, in Ref<AlembicPropertyHeader> header )
String[] getAllPaths ! ()
AlembicCameraReader getCamera ! ( in String path )
AlembicCurvesReader getCurves ! ( in String path )
AlembicIObject getIObject ! ( in String path )
Ref<AlembicISampleSelector> getISampleSelector ! ( in UInt32 index )
String getMetaData ! ( in String path, in String key )
String[] getMetaDataKeys ! ( in String path )
SInt32 getNumTimeSamplings ? ()
String getObjectType ! ( in String path )
String getPath ? ()
String[] getPathsOfType ! ( in String objType )
AlembicPointsReader getPoints ! ( in String path )
AlembicPolyMeshReader getPolyMesh ! ( in String path )
AlembicPropertyReader getProperty ! ( in String path, in String key )
Boolean getProperty ! ( in String path, in String prefix, in String suffix, io AlembicICompoundProperty compound, io AlembicPropertyHeader header )
String[] getPropertyKeys ! ( in AlembicICompoundProperty compound, in String prefix )
String[] getPropertyKeys ! ( in String path )
AlembicObjectReader getReader ! ( in AlembicIObject obj )
AlembicObjectReader getReader ! ( in String path )
AlembicSubDReader getSubD ! ( in String path )
Vec2 getTimeRange ? ( in Boolean parse )
Vec2 getTimeRange ? ()
Float64[] getTimeSampling ? ( in SInt32 timeSampling )
AlembicXformReader getXform ! ( in String path )
Boolean isPathAnimated ! ( in String path, in Boolean checkXformAnim, in Boolean checkDeformation )
Boolean isPathAnimated ! ( in String path, in Boolean checkXformAnim, in Boolean checkDeformation, in Boolean recursively )
  removeReader ! ( in String path )
  reset ! ()
  searchForMaxStoredTimes ! ( io UInt32 numSamples, io AlembicTimeSampling timeSampling )
  setPath ! ( in String fileName )
  setReaders ! ( io AlembicBaseObjectReader readers[] )
Boolean supportsMultithreadedReads ? ()
Boolean valid ? ()

Functions

GetIPropertyKLType

Type GetIPropertyKLType ( in Ref<AlembicDataType> dataType )

CreateIProperty

CreateIProperty ( in Ref<AlembicICompoundProperty> parent, in Ref<AlembicPropertyHeader> header, io AlembicIScalarProperty scalarProperty, io AlembicIArrayProperty arrayProperty, io AlembicICompoundProperty compoundProperty )

Helper for creating the right property type based on the header