101 const CSO* _getFirstCSO();
102 std::vector<const CSO*> _getAllCSOs();
103 std::vector<const CSO*> _getAllCSOsFromCSOGroup();
104 std::vector<const CSO*> _getAllCSOsFromCSOList();
106 const std::vector<const CSO*> *_csos;
std::vector< unsigned int > CSOIdVector
Defines a vector to hold CSO and CSOGroup ids.
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
A CSOGroup comprises a number of CSOs, which themselves can be in a number of different CSOGroups.
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
bool areAllCSOsOpen()
Returns whether all CSOs are open, if a std::vector<unsigned int> is passed, the IDs of closed CSOs w...
bool hasAtLeastCSOGroups(size_t minNumGroups)
Returns whether passed CSO collection has at least 'minNumGroups' CSOGroup if passed CSO collection i...
bool areAllCSOsParallelToPlane(const Vector3 &planeNormal, double epsilon)
Returns whether all CSOs are parallel to the plane given by a normal vector, if a std::vector<unsigne...
bool areAllCSOsSatisfyingPredicate(const CSOPredicate &pred)
Returns whether all CSOs satisfy given predicate, if a std::vector<unsigned int> is passed,...
bool areAllCSOsInPlane(CSOIdVector &violatingCSOIDs)
bool hasAtMostCSOGroups(size_t maxNumGroups)
Returns whether passed CSO collection has at most 'maxNumGroups' CSOGroups if passed CSO collection i...
bool areAllCSOsNotSelfIntersecting(CSOIdVector &violatingCSOIDs)
CSOValidator(const CSOList &csoList)
bool areAllCSOsClosed(CSOIdVector &violatingCSOIDs)
bool areAllCSOsParallel(double epsilon)
Returns whether all CSOs are parallel to the plane on which the first CSO in the passed CSO collectio...
bool areAllCSOsInPlane()
Returns whether all CSOs are in-plane, if a std::vector<unsigned int> is passed, the IDs of not in-pl...
bool areAllCSOsClosed()
Returns whether all CSOs are closed, if a std::vector<unsigned int> is passed, the IDs of open CSOs w...
bool areAllCSOsParallel(double epsilon, CSOIdVector &violatingCSOIDs)
CSOValidator(const CSOGroup &csoGroup)
bool areAllCSOsParallelToPlane(const Vector3 &planeNormal, double epsilon, CSOIdVector &violatingCSOIDs)
bool areAllCSOsInSamePlane(CSOIdVector &violatingCSOIDs)
CSOValidator(const std::vector< const CSO * > &csos)
Constructors taking a CSO collection to be validated: a std::vector, a CSOList or a CSOGroup.
bool hasAtLeastCSOs(size_t minNumCSOs)
Returns whether passed CSO collection has at least 'minNumCSOs' CSOs.
bool hasAtMostCSOs(size_t maxNumCSOs)
Returns whether passed CSO collection has at most 'maxNumCSOs' CSOs.
bool areAllCSOsNotSelfIntersecting()
Returns whether all CSOs are not self intersecting, if a std::vector<unsigned int> is passed,...
bool areAllCSOsInSamePlane()
Returns whether all CSOs are in the same plane as the first CSO in the passed CSO collection,...
bool areAllCSOsSatisfyingPredicate(const CSOPredicate &pred, CSOIdVector &violatingCSOIDs)
bool areAllCSOsOpen(CSOIdVector &violatingCSOIDs)
The CSO represents a contour segmentation object.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.