EasyMVS
simple 3D reconstruction framework
Public Types | Public Slots | Signals | Public Member Functions | Protected Attributes | List of all members
WorkFlowObject Class Referenceabstract

this is the base class of all workflow class, More...

#include <WorkFlowObject.h>

Inheritance diagram for WorkFlowObject:
Inheritance graph
[legend]
Collaboration diagram for WorkFlowObject:
Collaboration graph
[legend]

Public Types

using DataQueue = std::queue< DataFlowObject::Ptr >
 
using Ptr = std::shared_ptr< WorkFlowObject >
 shared pointer of WorkFlowObject
 

Public Slots

virtual void Trigger ()=0
 trigger one work load of the workflow with preload input and output settings.
 
virtual void Trigger (DataQueue data)=0
 trigger one work load of the workflow with input data. More...
 

Signals

void Finished (DataQueue)
 the current work load of the workflow is finished, and the processeed data pointer is stored in the queue, the workflow can be assigned to new work load with trigger() method More...
 
void Finished ()
 the current work load of the workflow is finished, the workflow can be assigned to new work load with trigger() method
 
void Failed ()
 the current work failed.
 
void Error (std::string error)
 emit error message More...
 
void Progress (int progress)
 emit percentage of the work load 0-100 More...
 
void Warning (std::string warning)
 emit warning output message More...
 
void Info (std::string info)
 emit information output message More...
 

Public Member Functions

 WorkFlowObject ()
 Construct a new Work Flow Object object.
 
virtual ~WorkFlowObject ()
 Destroy the Work Flow Object object.
 
virtual bool clear ()=0
 clear the workflow state, the workflow should be re-init after clear. More...
 
virtual bool isInit ()
 check if the workflow is inited More...
 
- Public Member Functions inherited from MVSObject
 MVSObject ()
 Construct a new MVSObject object.
 
virtual ~MVSObject ()
 Destroy the MVSObject object.
 
virtual bool save (JsonNode &fs)=0
 save data and settings to file More...
 
virtual bool load (JsonNode &fs)=0
 load data and settings from file More...
 
virtual std::string type_name ()
 get the typename. More...
 

Protected Attributes

bool m_isInit = false
 default indicator of wether the workflow is initialized, the workflow may or may not use this variable to indicate if its initialized, it depends on the implementation of isInit() method.
 

Additional Inherited Members

- Protected Member Functions inherited from MVSObject
bool isDirExist (std::string path)
 check if the directory is exist. More...
 
bool mkdir (std::string path)
 create directory in given path. More...
 

Detailed Description

this is the base class of all workflow class,

the workflow classes will implement different algorithms to operate data which stored in dataflow classes to complete SFM and MVS steps.

Member Function Documentation

◆ clear()

virtual bool WorkFlowObject::clear ( )
pure virtual

clear the workflow state, the workflow should be re-init after clear.

Returns
true clear succeed
false clear failed

Implemented in DualPhotographer, Photographer, DenseReconstructor, DualFrameReconstructor, OptimalFrameFinder, FeatureExtractor, FeatureMatcher, VocTreeMatcher, and PinholePoseReconstructor.

◆ Error

void WorkFlowObject::Error ( std::string  error)
signal

emit error message

Parameters
error

◆ Finished

void WorkFlowObject::Finished ( DataQueue  )
signal

the current work load of the workflow is finished, and the processeed data pointer is stored in the queue, the workflow can be assigned to new work load with trigger() method

Parameters
parameterDataQueue the output data.

◆ Info

void WorkFlowObject::Info ( std::string  info)
signal

emit information output message

Parameters
info

◆ isInit()

bool WorkFlowObject::isInit ( )
virtual

check if the workflow is inited

Returns
true inited
false not inited

Reimplemented in VocTreeMatcher.

◆ Progress

void WorkFlowObject::Progress ( int  progress)
signal

emit percentage of the work load 0-100

Parameters
progress

◆ Trigger

virtual void WorkFlowObject::Trigger ( DataQueue  data)
pure virtualslot

trigger one work load of the workflow with input data.

Parameters
dataqueue of shared pointer of dataflow object(commonly is frame object)

◆ Warning

void WorkFlowObject::Warning ( std::string  warning)
signal

emit warning output message

Parameters
warning

The documentation for this class was generated from the following files: