|
MeVisLab Toolbox Reference
|
#include <CSOValidator.h>
Public Member Functions | |
| CSOValidator (const std::vector< const CSO * > &csos) | |
| Constructors taking a CSO collection to be validated: a std::vector, a CSOList, or a CSOGroup. | |
| CSOValidator (const CSOList &csoList) | |
| CSOValidator (const CSOGroup &csoGroup) | |
| bool | areAllCSOsClosed () |
| Returns whether all CSOs are closed. | |
| bool | areAllCSOsClosed (CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsOpen () |
| Returns whether all CSOs are open. | |
| bool | areAllCSOsOpen (CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsNotSelfIntersecting () |
| Returns whether all CSOs are not self intersecting. | |
| bool | areAllCSOsNotSelfIntersecting (CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsInPlane () |
| Returns whether all CSOs are in-plane. | |
| bool | areAllCSOsInPlane (CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsInSamePlane () |
| Returns whether all CSOs are in the same plane as the first CSO in the passed CSO collection. | |
| bool | areAllCSOsInSamePlane (CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsParallel (double epsilon) |
| Returns whether all CSOs are parallel to the plane on which the first CSO in the passed CSO collection lays. | |
| bool | areAllCSOsParallel (double epsilon, CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsParallelToPlane (const Vector3 &planeNormal, double epsilon) |
| Returns whether all CSOs are parallel to the plane given by a normal vector. | |
| bool | areAllCSOsParallelToPlane (const Vector3 &planeNormal, double epsilon, CSOIdVector &violatingCSOIDs) |
| bool | areAllCSOsSatisfyingPredicate (const CSOPredicate &pred) |
| Returns whether all CSOs satisfy given predicate. | |
| bool | areAllCSOsSatisfyingPredicate (const CSOPredicate &pred, CSOIdVector &violatingCSOIDs) |
| bool | hasAtMostCSOs (size_t maxNumCSOs) |
| Returns whether passed CSO collection has at most 'maxNumCSOs' CSOs. | |
| bool | hasAtLeastCSOs (size_t minNumCSOs) |
| Returns whether passed CSO collection has at least 'minNumCSOs' CSOs. | |
| bool | hasAtMostCSOGroups (size_t maxNumGroups) |
| Returns whether passed CSO collection has at most 'maxNumGroups' CSOGroups if passed CSO collection is CSOList. | |
| bool | hasAtLeastCSOGroups (size_t minNumGroups) |
| Returns whether passed CSO collection has at least 'minNumGroups' CSOGroup if passed CSO collection is CSOList. | |
Definition at line 27 of file CSOValidator.h.
| ml::CSOValidator::CSOValidator | ( | const std::vector< const CSO * > & | csos | ) |
| ml::CSOValidator::CSOValidator | ( | const CSOList & | csoList | ) |
| ml::CSOValidator::CSOValidator | ( | const CSOGroup & | csoGroup | ) |
| bool ml::CSOValidator::areAllCSOsClosed | ( | ) |
Returns whether all CSOs are closed.
If a std::vector<unsigned int> is passed, the IDs of open CSOs will be put into it.
| bool ml::CSOValidator::areAllCSOsClosed | ( | CSOIdVector & | violatingCSOIDs | ) |
| bool ml::CSOValidator::areAllCSOsInPlane | ( | ) |
Returns whether all CSOs are in-plane.
If a std::vector<unsigned int> is passed, the IDs of not in-plane CSOs will be put into it.
| bool ml::CSOValidator::areAllCSOsInPlane | ( | CSOIdVector & | violatingCSOIDs | ) |
| bool ml::CSOValidator::areAllCSOsInSamePlane | ( | ) |
| bool ml::CSOValidator::areAllCSOsInSamePlane | ( | CSOIdVector & | violatingCSOIDs | ) |
| bool ml::CSOValidator::areAllCSOsNotSelfIntersecting | ( | ) |
Returns whether all CSOs are not self intersecting.
If a std::vector<unsigned int> is passed, the IDs of self intersecting CSOs will be put into it.
| bool ml::CSOValidator::areAllCSOsNotSelfIntersecting | ( | CSOIdVector & | violatingCSOIDs | ) |
| bool ml::CSOValidator::areAllCSOsOpen | ( | ) |
Returns whether all CSOs are open.
If a std::vector<unsigned int> is passed, the IDs of closed CSOs will be put into it.
| bool ml::CSOValidator::areAllCSOsOpen | ( | CSOIdVector & | violatingCSOIDs | ) |
| bool ml::CSOValidator::areAllCSOsParallel | ( | double | epsilon | ) |
Returns whether all CSOs are parallel to the plane on which the first CSO in the passed CSO collection lays.
If a std::vector<unsigned int> is passed, the IDs of CSOs laying not parallel to the first CSO will be put into it. See documentation of the areAllCSOsParallelToPlane function for the meaning of epsilon.
| bool ml::CSOValidator::areAllCSOsParallel | ( | double | epsilon, |
| CSOIdVector & | violatingCSOIDs | ||
| ) |
| bool ml::CSOValidator::areAllCSOsParallelToPlane | ( | const Vector3 & | planeNormal, |
| double | epsilon | ||
| ) |
Returns whether all CSOs are parallel to the plane given by a normal vector.
If a std::vector<unsigned int> is passed, the IDs of CSOs laying not parallel to the given plane will be put into it. In order to determine whether the predicate is satisfied, the following condition is evaluated: 1 - abs(planeNormal.dot(csoPlaneNormal) <= epsilon where, csoPlaneNormal - normal of plane on which CSO lays
| bool ml::CSOValidator::areAllCSOsParallelToPlane | ( | const Vector3 & | planeNormal, |
| double | epsilon, | ||
| CSOIdVector & | violatingCSOIDs | ||
| ) |
| bool ml::CSOValidator::areAllCSOsSatisfyingPredicate | ( | const CSOPredicate & | pred | ) |
Returns whether all CSOs satisfy given predicate.
If a std::vector<unsigned int> is passed, the IDs of CSOs not satisfaying the predicate will be put into it.
| bool ml::CSOValidator::areAllCSOsSatisfyingPredicate | ( | const CSOPredicate & | pred, |
| CSOIdVector & | violatingCSOIDs | ||
| ) |
| bool ml::CSOValidator::hasAtLeastCSOGroups | ( | size_t | minNumGroups | ) |
| bool ml::CSOValidator::hasAtLeastCSOs | ( | size_t | minNumCSOs | ) |
Returns whether passed CSO collection has at least 'minNumCSOs' CSOs.
| bool ml::CSOValidator::hasAtMostCSOGroups | ( | size_t | maxNumGroups | ) |
| bool ml::CSOValidator::hasAtMostCSOs | ( | size_t | maxNumCSOs | ) |
Returns whether passed CSO collection has at most 'maxNumCSOs' CSOs.