#ifndef _Alembic_Arnold_SampleUtil_h_
#define _Alembic_Arnold_SampleUtil_h_
#include <Alembic/AbcGeom/All.h>
#include "ProcArgs.h"
#include <set>
using namespace Alembic::AbcGeom;
typedef std::set<Abc::chrono_t> SampleTimeSet;
typedef std::map<Abc::chrono_t, M44d> MatrixSampleMap;
void GetRelevantSampleTimes( ProcArgs &args, TimeSamplingPtr timeSampling,
size_t numSamples, SampleTimeSet &output,
MatrixSampleMap * inheritedSamples = 0);
void ConcatenateXformSamples( ProcArgs &args,
const MatrixSampleMap & parentSamples,
const MatrixSampleMap & localSamples,
MatrixSampleMap & outputSamples);
Abc::chrono_t GetRelativeSampleTime( ProcArgs &args, Abc::chrono_t sampleTime);
#endif