MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLWEM/WEMTools/WEMGeometry/WEMGeometry.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00011 #ifndef __WEMGeometry_H
00012 #define __WEMGeometry_H
00013 
00014 #include "WEMTools/WEMToolsIncludes.h"
00015 
00016 
00017 ML_START_NAMESPACE
00018 
00020 
00022 namespace WEMGeometry 
00023 {
00025   MLWEM_EXPORT bool isPointInsideWEMPatch(const Vector3& position, WEMPatch* wemPatch);
00026  
00028   MLWEM_EXPORT bool isLineIntersectingFace(const Vector3& startPos, const Vector3& endPos, WEMFace* face, WEMPatch* wemPatch);
00029 
00032   MLWEM_EXPORT bool pointInsidePolygon(const Vector3& point, const std::vector<Vector3>& polygon);
00033 
00035   MLWEM_EXPORT bool checkForEdgeNodeCrossing(const Vector3& rayStart, const Vector3& rayEnd, WEMFace* face);
00036 
00038   MLWEM_EXPORT double computeSegmentSegmentDistance(const Vector3& start0, const Vector3& end0, 
00039                                               const Vector3& start1, const Vector3& end1, 
00040                                               Vector3& intersectionPoint);
00041 };
00042 
00044 
00045 ML_END_NAMESPACE
00046 
00047 #endif // __WEMGeometry_H