Metahuman_DNA_Calibration/dnacalib/DNACalib/include/dna/Reader.h
2022-11-29 14:25:24 +01:00

33 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "dna/Defs.h"
#include "dna/DataLayer.h"
#include "dna/layers/BehaviorReader.h"
#include "dna/layers/GeometryReader.h"
namespace dna {
/**
@brief The abstract Reader which its implementations are expected to inherit.
@note
This class combines the various different reader interfaces into a single interface.
The artificial separation into multiple interfaces mirrors the DNA file structure that
is separated into matching layers under the same names. As these layers can be
selectively loaded, it might be convenient to slice-off interfaces which layers were
not loaded.
*/
class DNAAPI Reader : public BehaviorReader, public GeometryReader {
public:
~Reader() override;
/**
@brief Unload all data of the specified layer and all layers dependent on it.
@param layer
Layer which data should be unloaded.
*/
virtual void unload(DataLayer layer) = 0;
};
} // namespace dna