MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLWEM/WEMBase/WEMRequirements.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00011 #ifndef __WEMRequirements_H
00012 #define __WEMRequirements_H
00013 
00014 #include "MLWEMIncludes.h"
00015 
00016 ML_START_NAMESPACE
00017 
00019 
00020 class WEMPatch;
00021 
00023 class MLWEM_EXPORT WEMRequirements
00024 {
00025 
00026 public:
00027 
00029   WEMRequirements();
00031   ~WEMRequirements();
00032 
00034   inline bool areEdgesRequired() const { return _requireEdges; }
00036   inline bool areNormalsRequired() const { return _requireNormals; }
00038   inline PatchTypes getRequiredPatchType() const { return _requirePatchType; }
00040   inline bool isPatchTypeRequired(PatchTypes patchType) const { return (_requirePatchType == patchType); }
00042   inline OrientationTypes getRequiredOrientationType() const { return _requireOrientationType; }
00044   inline bool isOrientationTypeRequired(OrientationTypes orientationType) const { return (_requireOrientationType == orientationType); }
00045 
00047   inline void requireEdges(bool requireEdgesFlag=true) { _requireEdges = requireEdgesFlag; }
00049   inline void requireNormals(bool requireNormalsFlag=true) { _requireNormals = requireNormalsFlag; }
00051   inline void requirePatchType(PatchTypes patchType) { _requirePatchType = patchType; }
00053   inline void requireOrientationType(OrientationTypes orientationType) { _requireOrientationType = orientationType; }
00054 
00055 private:
00056 
00058   bool _requireEdges;
00060   bool _requireNormals;
00061 
00063   PatchTypes _requirePatchType;
00065   OrientationTypes _requireOrientationType;
00066 
00067 };
00068 
00070 
00071 ML_END_NAMESPACE
00072 
00073 #endif // __WEMRequirements_H