Skip to content

Libs/Analyze/MeshWorkQueue.h

Namespaces

Name
shapeworks
User usage reporting (telemetry)

Classes

Name
class shapeworks::MeshWorkItem
Provides concurrent access to a list of shapes to work needing reconstruction.
class shapeworks::MeshWorkQueue

Functions

Name
Q_DECLARE_METATYPE(shapeworks::MeshWorkItem )

Functions Documentation

function Q_DECLARE_METATYPE

cpp Q_DECLARE_METATYPE( shapeworks::MeshWorkItem )

Source code

```cpp

pragma once

// stl

include

// qt

include

include

// eigen

include

namespace shapeworks {

class MeshWorkItem { public: std::string filename; Eigen::VectorXd points; int domain{0};

size_t memory_size{0};

friend bool operator<(const MeshWorkItem &a, const MeshWorkItem &b);

friend bool operator==(const MeshWorkItem &a, const MeshWorkItem &b); };

class MeshWorkQueue { public: using WorkList = std::list;

MeshWorkQueue(); ~MeshWorkQueue();

void push(const MeshWorkItem &item);

MeshWorkItem *get_next_work_item();

bool is_inside(const MeshWorkItem &item);

void remove(const MeshWorkItem &item);

bool is_empty();

int size();

private: bool in_inside_list(const MeshWorkItem &item, const WorkList &list);

// for concurrent access QMutex mutex_;

WorkList work_list_;

WorkList processing_list_; }; } // namespace shapeworks

Q_DECLARE_METATYPE(shapeworks::MeshWorkItem); ```


Updated on 2026-03-31 at 16:02:10 +0000