00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef COREF_API_HH
00026 #define COREF_API_HH
00027
00028 #include "corefinement-win32.hh"
00029
00030 namespace GMap3d
00031 {
00032 class DLL_COREFINEMENT CGMapVertex;
00033 class DLL_COREFINEMENT CDart;
00034 }
00035 class DLL_COREFINEMENT CVertex;
00036
00037 class DLL_COREFINEMENT CCorefinementAPI
00038 {
00039 private:
00040 GMap3d::CGMapVertex * FMap;
00041
00042 public:
00043 CCorefinementAPI(GMap3d::CGMapVertex * AMap);
00044 virtual ~CCorefinementAPI();
00045
00046 void corefine2dMeshesSweeping(GMap3d::CDart * ADart1,
00047 GMap3d::CDart * ADart2, const CVertex& ANormal);
00048
00049 void corefine2dMeshesPropagation(GMap3d::CDart * ADart1,
00050 GMap3d::CDart * ADart2,
00051 const CVertex & ANormal,
00052 bool useBBox = false);
00053
00054 void corefine3dMeshes(GMap3d::CDart * ADart1, GMap3d::CDart * ADart2);
00055 void corefineMarked3dFaces(int AMark1, int AMark2);
00056 void corefineMarked3dMeshesWith(int AMark, GMap3d::CDart * ADart);
00057
00058 void booleanOperations2d(GMap3d::CDart * ADart1, GMap3d::CDart * ADart2,
00059 const CVertex & ANormal,
00060 int ADifference1Mark = -1,
00061 int ADifference2Mark = -1,
00062 int AIntersectionMark = -1,
00063 int AUnionMark = -1);
00064
00065 void booleanOperations3d(GMap3d::CDart * ADart1, GMap3d::CDart * ADart2,
00066 int ADifference1Mark = -1,
00067 int ADifference2Mark = -1,
00068 int AIntersectionMark = -1,
00069 int AUnionMark = -1);
00070 };
00071
00072 #endif // COREF_API_HH
00073