Algorithm to compute point-wise distances between two aligned meshes, between two aligned point clouds, or between aligned point cloud and mesh.
|
|
| MeshDistanceAlgorithm (Mesh *mesh, Mesh *referenceMesh) |
| | Constructor.
|
| |
|
| MeshDistanceAlgorithm (PointCloud *pointCloud, PointCloud *referencePointCloud) |
| | Constructor.
|
| |
|
| MeshDistanceAlgorithm (PointCloud *pointcloud, Mesh *referenceMesh) |
| | Constructor.
|
| |
|
| MeshDistanceAlgorithm (Mesh *mesh, PointCloud *referencePointCloud) |
| | Constructor.
|
| |
|
| ~MeshDistanceAlgorithm () override |
| | Destructor.
|
| |
|
void | setDistanceType (DistanceType type) |
| |
|
int | distanceType () const |
| |
|
void | setSignedDistance (bool signedDistance) |
| |
|
bool | signedDistance () const |
| |
| void | setRangeOfInterest (const vec2i &range) |
| | Set the range of points/vertices (sorted by distance) to consider: min = range[0], max = range[1] in %.
|
| |
|
vec2i | rangeOfInterest () const |
| |
|
int | computationMode () const |
| | Computation mode (depends on the constructor): 0 - mesh to mesh distances, 1 - point cloud to point cloud distances, 2 - point cloud to mesh distances, 3 - mesh to point cloud distances.
|
| |
|
Mesh * | mesh () |
| |
|
Mesh * | referenceMesh () |
| |
|
PointCloud * | pointCloud () |
| |
|
PointCloud * | referencePointCloud () |
| |
|
const std::vector< double > & | distances () const |
| |
|
double | meshVolume () const |
| |
|
double | referenceMeshVolume () const |
| |
| double | computeDiceCoefficient () |
| | Compute the dice coefficient for two closed mesh volumes (returns -1 if calculation could not be performed (i.e.
|
| |
|
Stat | statistics () const |
| |
|
void | setDistancesOutputFile (const std::string &distancesOutputFile) |
| |
|
void | exportDistances () const |
| |
| | Algorithm () |
| | Default constructor will registers a single "compute" action that calls compute() and returns status().
|
| |
| virtual OwningDataList | takeOutput () |
| | Return any new Data that was created by the Algorithm during the last call to compute().
|
| |
| virtual void | setProgress (Progress *progress) |
| | Sets a Progress interface the algorithm can use to notify observers about its computing progress.
|
| |
|
Progress * | progress () const |
| | Returns the progress interface if set.
|
| |
| virtual int | status () const |
| | Indicates the status of the last call to compute().
|
| |
| virtual bool | survivesDataDeletion (const Data *) const |
| | Indicates whether the algorithm can handle (partial) deletion of the specified data, by default this checks whether the data is in the input list.
|
| |
| const FactoryInfo & | factoryInfo () const |
| | Returns the record describing how this Algorithm was instantiated by the AlgorithmFactory.
|
| |
|
void | setFactoryInfo (const FactoryInfo &value) |
| | Sets the record describing how this Algorithm was instantiated by the AlgorithmFactory.
|
| |
| Status | runAction (const std::string &id) |
| | Run the action with name id if it exists.
|
| |
|
const std::vector< Action > & | actions () |
| | Get a mapping from Action id to Action as registered in this algorithm.
|
| |
| virtual void | configureDefaults () |
| | Retrieve the properties of this object, replaces values with their defaults and sets it again.
|
| |
|
void | registerParameter (ParameterBase *param) |
| | Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
|
| |
|
void | unregisterParameter (const ParameterBase *param) |
| | Remove the given Parameter or SubProperty from the list of registered parameters.
|
| |
|
| Configurable (const Configurable &rhs) |
| |
|
| Configurable (Configurable &&rhs) noexcept |
| |
|
Configurable & | operator= (const Configurable &) |
| |
|
Configurable & | operator= (Configurable &&) noexcept |
| |
|
|
static bool | pointCloudDistance (const PointCloud *pointCloudSrc, PointCloud *pointCloudDst, std::vector< double > &dist, std::vector< int > *srcToDstMapping=nullptr) |
| | Compute the nearest neighbor distance to the source point cloud for every destination point cloud vertex.
|
| |
|
static bool | pointCloudToMeshDistance (const Mesh *meshSrc, PointCloud *pointCloudDst, std::vector< double > &dist, bool computeSurfaceError=false, bool signedDistance=false, Progress *progress=nullptr) |
| | Compute the nearest neighbor distance to the source mesh for every destination point cloud vertex.
|
| |
|
static bool | meshToPointCloudDistance (const PointCloud *pointCloudSrc, const Mesh *meshDst, std::vector< double > &dist) |
| |
| static bool | createCompatible (const DataList &data, Algorithm **a=nullptr) |
| | Factory function to check algorithm compatibility with input data and optionally instantiate it.
|
| |
|
|
Mesh * | m_mesh |
| | Input mesh.
|
| |
|
Mesh * | m_refMesh |
| | Input reference mesh.
|
| |
|
PointCloud * | m_pointCloud |
| | Input point cloud.
|
| |
|
PointCloud * | m_refPointCloud |
| | Input reference point cloud.
|
| |
|
DistanceType | m_distanceType |
| |
|
std::vector< double > | m_distances |
| |
|
const int | m_computationMode |
| | 0 - mesh to mesh distances, 1 - point cloud to point cloud distances, 2 - point cloud to mesh distances, 3 - mesh to point cloud distances
|
| |
|
bool | m_signedDistance |
| |
|
double | m_meshVolume |
| |
|
double | m_referenceMeshVolume |
| |
|
Stat | m_statistics |
| |
|
vec2i | m_rangeOfInterest {0, 100} |
| |
|
std::string | m_distancesOutputFile |
| |
|
std::string | m_name |
| | Algorithm name.
|
| |
|
Progress * | m_progress = nullptr |
| | Non-owing pointer to a progress interface. May be a nullptr.
|
| |
|
FactoryInfo | m_factoryInfo = {} |
| | Record describing how this algorithm was instantiated by the AlgorithmFactory.
|
| |
|
int | m_status = Status::Unknown |
| | Algorithm status after last call to compute()
|
| |
|
std::vector< Action > | m_actions |
| | Map of key given by the id of the action, of the available actions of this algorithm.
|
| |
|
std::vector< Param > | m_params |
| | List of all registered Parameter and SubProperty instances.
|
| |
|
|
Signal | signalOutputChanged |
| | Signal should be emitted by Algorithms when their output/result has changed.
|
| |
|
Signal | signalParametersChanged |
| | Signal should be emitted by Algorithms when their parameter configuration has changed.
|
| |
|
Signal | signalParametersChanged |
| | Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
|
| |
|
void | loadDefaults () |
| |
| void | registerAction (const std::string &id, const std::string &guiName, const std::function< Algorithm::Status(void)> &action) |
| | Register an action to be run via runAction.
|
| |
|
template<typename D> |
| void | registerAction (const std::string &id, const std::string &guiName, Algorithm::Status(D::*action)(void)) |
| | Template version of runAction that can be used with a pointer to a member function.
|
| |
|
void | registerAction (const Action &action) |
| | Register an action.
|
| |