TTK
|
TTK VTK-filter that wraps the ttk::MergeTreeTemporalReductionDecoding module. More...
#include <ttkMergeTreeTemporalReductionDecoding.h>
Public Types | |
typedef ttkAlgorithm | Superclass |
![]() | |
typedef vtkAlgorithm | Superclass |
Public Member Functions | |
void | SetAssignmentSolver (int assignmentSolver) |
int | GetAssignmentSolver () |
virtual void | SetOutputTrees (bool) |
virtual bool | GetOutputTrees () |
virtual void | SetPlanarLayout (bool) |
virtual bool | GetPlanarLayout () |
virtual void | SetBranchDecompositionPlanarLayout (bool) |
virtual bool | GetBranchDecompositionPlanarLayout () |
virtual void | SetBranchSpacing (double) |
virtual double | GetBranchSpacing () |
virtual void | SetRescaleTreesIndividually (bool) |
virtual bool | GetRescaleTreesIndividually () |
virtual void | SetDimensionSpacing (double) |
virtual double | GetDimensionSpacing () |
virtual void | SetDimensionToShift (int) |
virtual int | GetDimensionToShift () |
virtual void | SetImportantPairs (double) |
virtual double | GetImportantPairs () |
virtual void | SetMaximumImportantPairs (int) |
virtual int | GetMaximumImportantPairs () |
virtual void | SetMinimumImportantPairs (int) |
virtual int | GetMinimumImportantPairs () |
virtual void | SetImportantPairsSpacing (double) |
virtual double | GetImportantPairsSpacing () |
virtual void | SetNonImportantPairsSpacing (double) |
virtual double | GetNonImportantPairsSpacing () |
virtual void | SetNonImportantPairsProximity (double) |
virtual double | GetNonImportantPairsProximity () |
virtual void | SetExcludeImportantPairsLower (const std::string &) |
virtual std::string | GetExcludeImportantPairsLower () |
virtual void | SetExcludeImportantPairsHigher (const std::string &) |
virtual std::string | GetExcludeImportantPairsHigher () |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
![]() | |
void | UpdateThreadNumber () |
void | SetThreadNumber (int threadNumber) |
void | SetUseAllCores (bool useAllCores) |
void | SetDebugLevel (int debugLevel) |
void | SetCompactTriangulationCacheSize (float cacheSize) |
vtkDataArray * | GetOptionalArray (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, const int &inputPort=0) |
vtkDataArray * | GetOrderArray (vtkDataSet *const inputData, const int scalarArrayIdx, ttk::Triangulation *triangulation, const bool getGlobalOrder=false, const int orderArrayIdx=0, const bool enforceOrderArrayIdx=false) |
vtkDataArray * | checkForGlobalAndComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *orderArray, ttk::Triangulation *triangulation, const bool enforceOrderArrayIdx) |
vtkDataArray * | ComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *oldOrderArray, ttk::Triangulation *triangulation) |
ttk::SimplexId * | GetIdentifierArrayPtr (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, std::vector< ttk::SimplexId > &spareStorage, const int inputPort=0, const bool printErr=true) |
ttk::Triangulation * | GetTriangulation (vtkDataSet *dataSet) |
int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) override |
vtkDataSet * | GetOutput () |
vtkDataSet * | GetOutput (int) |
void | SetInputData (vtkDataSet *) |
void | SetInputData (int, vtkDataSet *) |
void | AddInputData (vtkDataSet *) |
void | AddInputData (int, vtkDataSet *) |
template<typename inputType > | |
int | checkEmptyMPIInput (inputType *input) |
This method tests whether the input is a nullptr. If the computation is being done on multiple processes, it is possible that the domain of one process or more is empty, but not others, therefore in that particular case the rest of the filter will not be computed but an error message will not be sent. | |
![]() | |
Debug () | |
~Debug () override | |
virtual int | setDebugLevel (const int &debugLevel) |
int | setWrapper (const Wrapper *wrapper) override |
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
void | setDebugMsgPrefix (const std::string &prefix) |
![]() | |
BaseClass () | |
virtual | ~BaseClass ()=default |
int | getThreadNumber () const |
virtual int | setThreadNumber (const int threadNumber) |
Static Public Member Functions | |
static ttkMergeTreeTemporalReductionDecoding * | New () |
static int | IsTypeOf (const char *type) |
static ttkMergeTreeTemporalReductionDecoding * | SafeDownCast (vtkObject *o) |
![]() | |
static ttkAlgorithm * | New () |
static int | IsTypeOf (const char *type) |
static ttkAlgorithm * | SafeDownCast (vtkObject *o) |
static std::string | GetOrderArrayName (vtkDataArray *const array) |
static vtkInformationIntegerKey * | SAME_DATA_TYPE_AS_INPUT_PORT () |
Protected Member Functions | |
ttkMergeTreeTemporalReductionDecoding () | |
~ttkMergeTreeTemporalReductionDecoding () override | |
int | FillInputPortInformation (int port, vtkInformation *info) override |
int | FillOutputPortInformation (int port, vtkInformation *info) override |
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
template<class dataType > | |
int | run (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< std::tuple< double, int, int, int, int > > &coefs, std::vector< bool > &interpolatedTrees) |
template<class dataType > | |
int | runCompute (std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< std::tuple< double, int, int, int, int > > &coefs) |
template<class dataType > | |
int | runOutput (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< std::tuple< double, int, int, int, int > > &coefs, std::vector< bool > &interpolatedTrees) |
![]() | |
ttkAlgorithm () | |
~ttkAlgorithm () override | |
void | MPIGhostPipelinePreconditioning (vtkDataSet *input) |
void | MPIPipelinePreconditioning (vtkDataSet *input, std::vector< int > &neighbors, std::map< int, int > &neighToId, ttk::Triangulation *triangulation=nullptr) |
bool | checkGlobalIdValidity (ttk::LongSimplexId *globalIds, ttk::SimplexId simplexNumber, unsigned char *ghost, int *rankArray) |
int | GenerateGlobalIds (vtkDataSet *input, std::unordered_map< ttk::SimplexId, ttk::SimplexId > &vertGtoL, std::vector< int > &neighborRanks, std::map< int, int > &neighborsToId) |
void | MPITriangulationPreconditioning (ttk::Triangulation *triangulation, vtkDataSet *input) |
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) |
virtual int | RequestInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateTime (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateTimeDependentInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateExtent (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestDataNotGenerated (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestData (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
int | FillInputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
int | FillOutputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
![]() | |
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
int | welcomeMsg (std::ostream &stream) |
![]() | |
MergeTreeTemporalReductionDecoding () | |
template<class dataType > | |
dataType | computeDistance (ftm::MergeTree< dataType > &mTree1, ftm::MergeTree< dataType > &mTree2, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matching) |
template<class dataType > | |
dataType | computeDistance (ftm::MergeTree< dataType > &mTree1, ftm::MergeTree< dataType > &mTree2) |
template<class dataType > | |
ftm::MergeTree< dataType > | computeBarycenter (ftm::MergeTree< dataType > &mTree1, ftm::MergeTree< dataType > &mTree2, double alpha) |
template<class dataType > | |
void | execute (std::vector< ftm::MergeTree< dataType > > &mTrees, std::vector< std::tuple< double, int, int, int, int > > &coefs, std::vector< ftm::MergeTree< dataType > > &allMT, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &allMatching) |
![]() | |
MergeTreeBase () | |
void | setAssignmentSolver (int assignmentSolver) |
void | setEpsilon1UseFarthestSaddle (bool b) |
void | setEpsilonTree1 (double epsilon) |
void | setEpsilonTree2 (double epsilon) |
void | setEpsilon2Tree1 (double epsilon) |
void | setEpsilon2Tree2 (double epsilon) |
void | setEpsilon3Tree1 (double epsilon) |
void | setEpsilon3Tree2 (double epsilon) |
void | setPersistenceThreshold (double pt) |
void | setParallelize (bool para) |
void | setNodePerTask (int npt) |
void | setBranchDecomposition (bool useBD) |
void | setNormalizedWasserstein (bool normalizedWasserstein) |
void | setKeepSubtree (bool keepSubtree) |
void | setNonMatchingWeight (double weight) |
void | setBarycenterMergeTree (bool imt) |
void | setDistanceSquaredRoot (bool distanceSquaredRoot) |
void | setUseMinMaxPair (bool useMinMaxPair) |
void | setDeleteMultiPersPairs (bool deleteMultiPersPairsT) |
void | setCleanTree (bool clean) |
void | setIsPersistenceDiagram (bool isPD) |
std::vector< std::vector< int > > | getTreesNodeCorr () |
double | mixDistancesMinMaxPairWeight (bool isFirstInput) |
double | mixDistancesWeight (bool isFirstInput) |
template<class dataType > | |
double | mixDistances (dataType distance1, dataType distance2) |
template<class dataType > | |
void | mixDistancesMatrix (std::vector< std::vector< dataType > > &distanceMatrix, std::vector< std::vector< dataType > > &distanceMatrix2) |
template<class dataType > | |
void | mergeSaddle (ftm::FTMTree_MT *tree, double epsilon, std::vector< std::vector< ftm::idNode > > &treeNodeMerged, bool mergeByPersistence=false) |
template<class dataType > | |
void | persistenceMerging (ftm::FTMTree_MT *tree, double epsilon2, double epsilon3=100) |
template<class dataType > | |
void | keepMostImportantPairs (ftm::FTMTree_MT *tree, int n, bool useBD) |
template<class dataType > | |
void | persistenceThresholding (ftm::FTMTree_MT *tree, double persistenceThresholdT, std::vector< ftm::idNode > &deletedNodes) |
template<class dataType > | |
void | persistenceThresholding (ftm::FTMTree_MT *tree, std::vector< ftm::idNode > &deletedNodes) |
template<class dataType > | |
void | persistenceThresholding (ftm::FTMTree_MT *tree, double persistenceThresholdT) |
template<class dataType > | |
void | persistenceThresholding (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | verifyOrigins (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | preprocessTree (ftm::FTMTree_MT *tree, bool deleteInconsistentNodes=true) |
template<class dataType > | |
ftm::FTMTree_MT * | computeBranchDecomposition (ftm::FTMTree_MT *tree, std::vector< std::vector< ftm::idNode > > &treeNodeMerged) |
template<class dataType > | |
void | dontUseMinMaxPair (ftm::FTMTree_MT *tree) |
void | verifyPairsTree (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | deleteMultiPersPairs (ftm::FTMTree_MT *tree, bool useBD) |
template<class dataType > | |
void | preprocessingPipeline (ftm::MergeTree< dataType > &mTree, double epsilonTree, double epsilon2Tree, double epsilon3Tree, bool branchDecompositionT, bool useMinMaxPairT, bool cleanTreeT, double persistenceThreshold, std::vector< int > &nodeCorr, bool deleteInconsistentNodes=true) |
template<class dataType > | |
void | preprocessingPipeline (ftm::MergeTree< dataType > &mTree, double epsilonTree, double epsilon2Tree, double epsilon3Tree, bool branchDecompositionT, bool useMinMaxPairT, bool cleanTreeT, std::vector< int > &nodeCorr, bool deleteInconsistentNodes=true) |
void | reverseNodeCorr (ftm::FTMTree_MT *tree, std::vector< int > &nodeCorr) |
template<class dataType > | |
void | mtFlattening (ftm::MergeTree< dataType > &mt) |
template<class dataType > | |
void | mtsFlattening (std::vector< ftm::MergeTree< dataType > > &mts) |
double | getSizeLimitMetric (std::vector< ftm::FTMTree_MT * > &trees) |
template<class dataType > | |
void | copyMinMaxPair (ftm::MergeTree< dataType > &mTree1, ftm::MergeTree< dataType > &mTree2, bool setOrigins=false) |
template<class dataType > | |
std::tuple< int, dataType > | fixMergedRootOrigin (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | branchDecompositionToTree (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | putBackMergedNodes (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | postprocessingPipeline (ftm::FTMTree_MT *tree) |
template<class dataType > | |
void | convertBranchDecompositionMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &outputMatching) |
template<class dataType > | |
void | convertBranchDecompositionMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching) |
template<class dataType > | |
void | identifyRealMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching, std::vector< std::tuple< ftm::idNode, ftm::idNode, bool > > &realMatching) |
template<class dataType > | |
dataType | computeDistance (dataType x1, dataType x2, dataType y1, dataType y2, double power=2) |
template<class dataType > | |
dataType | deleteCost (ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
template<class dataType > | |
dataType | insertCost (ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
template<class dataType > | |
dataType | relabelCostOnly (ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, ftm::FTMTree_MT *tree2, ftm::idNode nodeId2) |
template<class dataType > | |
dataType | relabelCost (ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, ftm::FTMTree_MT *tree2, ftm::idNode nodeId2) |
void | getParamNames (std::vector< std::string > ¶mNames) |
double | getParamValueFromName (std::string ¶mName) |
void | setParamValueFromName (std::string ¶mName, double value) |
void | getTreesStats (std::vector< ftm::FTMTree_MT * > &trees, std::array< double, 3 > &stats) |
void | printTreesStats (std::vector< ftm::FTMTree_MT * > &trees) |
template<class dataType > | |
void | printTreesStats (std::vector< ftm::MergeTree< dataType > > &trees) |
template<class dataType > | |
void | printTableVector (std::vector< std::vector< dataType > > &table) |
template<class dataType > | |
void | printTable (dataType *table, int nRows, int nCols) |
void | printMatching (std::vector< MatchingType > &matchings) |
void | printMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matchings) |
void | printMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode > > &matchings) |
template<class dataType > | |
void | printPairs (std::vector< std::tuple< SimplexId, SimplexId, dataType > > &treePairs) |
template<class dataType > | |
void | printOutputMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching, ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, bool computeCosts=true) |
TTK VTK-filter that wraps the ttk::MergeTreeTemporalReductionDecoding module.
This VTK filter uses the ttk::MergeTreeTemporalReductionDecoding module to compute the reconstruction of a reduced sequence of merge trees.
Input | vtkMultiBlockDataSet Key frames. |
Input | vtkTable Interpolation coefficients. |
Output | vtkMultiBlockDataSet Input trees |
See the corresponding standalone program for a usage example:
See the related ParaView example state files for usage examples within a VTK pipeline.
Related publication
"Wasserstein Distances, Geodesics and Barycenters of Merge Trees"
Mathieu Pont, Jules Vidal, Julie Delon, Julien Tierny.
Proc. of IEEE VIS 2021.
IEEE Transactions on Visualization and Computer Graphics, 2021
Online examples:
Definition at line 74 of file ttkMergeTreeTemporalReductionDecoding.h.
Definition at line 199 of file ttkMergeTreeTemporalReductionDecoding.h.
|
protected |
Implement the filter constructor and destructor (see cpp file)
Implement the filter constructor and destructor in the cpp file.
The constructor has to specify the number of input and output ports with the functions SetNumberOfInputPorts and SetNumberOfOutputPorts, respectively. It should also set default values for all filter parameters.
The destructor is usually empty unless you want to manage memory explicitly, by for example allocating memory on the heap that needs to be freed when the filter is destroyed.
Definition at line 35 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
overrideprotecteddefault |
|
overrideprotected |
Specify the input data type of each input port (see cpp file)
Specify the required input data type of each input port
This method specifies the required input object data types of the filter by adding the vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE() key to the port information.
Definition at line 50 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
overrideprotected |
Specify the data object type of each output port (see cpp file)
Specify the data object type of each output port
This method specifies in the port information object the data type of the corresponding output objects. It is possible to either explicitly specify a type by adding a vtkDataObject::DATA_TYPE_NAME() key:
info->Set( vtkDataObject::DATA_TYPE_NAME(), "vtkUnstructuredGrid" );
or to pass a type of an input port to an output port by adding the ttkAlgorithm::SAME_DATA_TYPE_AS_INPUT_PORT() key (see below).
Note: prior to the execution of the RequestData method the pipeline will initialize empty output data objects based on this information.
Definition at line 76 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
inline |
Definition at line 144 of file ttkMergeTreeTemporalReductionDecoding.h.
|
virtual |
|
virtual |
|
virtual |
Reimplemented from ttkAlgorithm.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from ttkAlgorithm.
|
static |
|
static |
This static method and the macro below are VTK conventions on how to instantiate VTK objects. You don't have to modify this.
|
overrideprotected |
Pass VTK data to the base code and convert base code output to VTK (see cpp file)
Pass VTK data to the base code and convert base code output to VTK
This method is called during the pipeline execution to update the already initialized output data objects based on the given input data objects and filter parameters.
Note: 1) The passed input data objects are validated based on the information provided by the FillInputPortInformation method. 2) The output objects are already initialized based on the information provided by the FillOutputPortInformation method.
Definition at line 98 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
protected |
Definition at line 154 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
protected |
Definition at line 166 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
protected |
Definition at line 202 of file ttkMergeTreeTemporalReductionDecoding.cpp.
|
static |
|
inline |
Automatically generate getters and setters of filter parameters via vtkMacros.
Definition at line 139 of file ttkMergeTreeTemporalReductionDecoding.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |