26class CSOVoxelSetGroup;
55 int numCSOVoxelSet()
const {
return static_cast<int>(_csoVoxelSets.size()); }
113 std::vector<CSOVoxelSet*> _csoVoxelSets;
115 std::vector<CSOVoxelSetGroup*> _csoVoxelSetGroups;
123 void _loadVersion(
TreeNode* parent,
int version);
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
CSOVoxelSetList()
Standard constructor.
void addOrReplaceCSOVoxelSetWithId(int id, const CSOVoxelSet &other)
Adds or replaces an existing CSOVoxelSet with the specified ID in this list.
CSOVoxelSet * addCSOVoxelSet()
Adds and returns a new CSOVoxelSet.
void setVoxelToWorldMatrix(const Matrix4 &voxelToWorldMatrix)
Sets the voxelToWorldMatrix.
int numCSOVoxelSetGroup() const
Returns the number of CSOVoxelSetGroups.
void setSubImageBox(const SubImageBox &subImageBox)
Sets the SubImageBox.
void setupInternalStructureAsCSOList(CSOList *csoList, PagedImage *image=nullptr)
void removeCSOVoxelSetWithId(int id)
Removes a CSOVoxelSet with a specifed ID.
CSOVoxelSetGroup * addCSOVoxelSetGroup()
Adds and returns a new CSOVoxelSetGroup.
void setupInternalStructureAsImage(const PagedImage *image)
const SubImageBox & getImageBox() const
int getMaxTimepointIndex() const
Computes and returns the maximum time point index.
int numCSOVoxelSet() const
Returns the number of CSOVoxelSets.
bool isInsideImage(const Vector3 &position)
void destroy()
Deletes internal structures.
~CSOVoxelSetList() override
Standard destructor.
MLdouble getMinVoxelValue() const
Computes and returns the minimum voxel value.
CSOVoxelSetGroup * csoVoxelSetGroupWithId(int id)
Returns the pointer to a CSOVoxelSetGroup with a specified ID. The nullptr is returned if the CSOVoxe...
MLdouble getMaxVoxelValue() const
Computes and returns the maximum voxel value.
CSOVoxelSet * csoVoxelSetWithId(int id)
Returns the pointer to a CSOVoxelSet with a specified ID. The nullptr is returned if the voxel set do...
CSOVoxelSet * csoVoxelSetAt(size_t index) const
Returns the pointer to a CSOVoxelSet at a specified index.
void readStateFromTree(TreeNode *parent) override
Implements import functionality (as used by the LoadBase module).
CSOVoxelSetGroup * csoVoxelSetGroupAt(size_t index) const
Returns the pointer to a CSOVoxelSetGroup at a specified index.
void addStateToTree(TreeNode *parent) const override
ML_SET_ADDSTATE_VERSION(2)
Matrix4 getVoxelToWorldMatrix() const
Returns the image matrix if a valid PagedImage was set. Otherwise, it returns the identity matrix.
#define ML_CLASS_HEADER(className)
Tmat4< MLdouble > Matrix4
The standard 4x4 matrix of type double.
Tvec3< MLdouble > Vector3
A vector with three components of type double.
TSubImageBox< MLint > SubImageBox
Defines the standard SubImageBox type used in the ML. Its size varies with the size of the MLint type...