// Gmsh - Copyright (C) 1997-2015 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to the public mailing list <gmsh@geuz.org>.

#ifndef _SGEOM_INCLUDES_
#define _SGEOM_INCLUDES_

#include "GmshConfig.h"

#if defined(HAVE_SGEOM) && defined(HAVE_OCC)

#include <iostream>
using std::iostream;

#if !defined(HAVE_NO_OCC_CONFIG_H)
#include <config.h>
#endif

#include <Archimede_VolumeSection.hxx>
#include <Basics_OCCTVersion.hxx>
#include <Basics_Utils.hxx>
#include <BlockFix.hxx>
#include <BlockFix_BlockFixAPI.hxx>
#include <BlockFix_CheckTool.hxx>
#include <BlockFix_PeriodicSurfaceModifier.hxx>
#include <BlockFix_SphereSpaceModifier.hxx>
#include <BlockFix_UnionEdges.hxx>
#include <BlockFix_UnionFaces.hxx>
#include <GEOMAlgo_Algo.hxx>
#include <GEOMAlgo_Builder.hxx>
#include <GEOMAlgo_BuilderArea.hxx>
#include <GEOMAlgo_BuilderFace.hxx>
#include <GEOMAlgo_BuilderShape.hxx>
#include <GEOMAlgo_BuilderSolid.hxx>
#include <GEOMAlgo_BuilderTools.hxx>
#include <GEOMAlgo_Clsf.hxx>
#include <GEOMAlgo_ClsfBox.hxx>
#include <GEOMAlgo_ClsfSolid.hxx>
#include <GEOMAlgo_ClsfSurf.hxx>
#include <GEOMAlgo_CoupleOfShapes.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfShapeMapOfShape.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfShapePnt.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal.hxx>
#include <GEOMAlgo_DataMapIteratorOfDataMapOfShapeShapeSet.hxx>
#include <GEOMAlgo_DataMapOfOrientedShapeShape.hxx>
#include <GEOMAlgo_DataMapOfPassKeyInteger.hxx>
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
#include <GEOMAlgo_DataMapOfRealListOfShape.hxx>
#include <GEOMAlgo_DataMapOfShapeMapOfShape.hxx>
#include <GEOMAlgo_DataMapOfShapePnt.hxx>
#include <GEOMAlgo_DataMapOfShapeReal.hxx>
#include <GEOMAlgo_DataMapOfShapeShapeSet.hxx>
#include <GEOMAlgo_FinderShapeOn.hxx>
#include <GEOMAlgo_FinderShapeOn1.hxx>
#include <GEOMAlgo_FinderShapeOn2.hxx>
#include <GEOMAlgo_FinderShapeOnQuad.hxx>
#include <GEOMAlgo_GetInPlace.hxx>
#include <GEOMAlgo_GlueAnalyser.hxx>
#include <GEOMAlgo_GlueDetector.hxx>
#include <GEOMAlgo_Gluer.hxx>
#include <GEOMAlgo_Gluer2.hxx>
#include <GEOMAlgo_GluerAlgo.hxx>
#include <GEOMAlgo_HAlgo.hxx>
#include <GEOMAlgo_IndexedDataMapOfIntegerShape.hxx>
#include <GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape.hxx>
#include <GEOMAlgo_IndexedDataMapOfShapeBox.hxx>
#include <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
#include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
#include <GEOMAlgo_KindOfBounds.hxx>
#include <GEOMAlgo_KindOfClosed.hxx>
#include <GEOMAlgo_KindOfName.hxx>
#include <GEOMAlgo_KindOfShape.hxx>
#include <GEOMAlgo_ListIteratorOfListOfCoupleOfShapes.hxx>
#include <GEOMAlgo_ListIteratorOfListOfPnt.hxx>
#include <GEOMAlgo_ListOfCoupleOfShapes.hxx>
#include <GEOMAlgo_ListOfPnt.hxx>
#include <GEOMAlgo_PWireEdgeSet.hxx>
#include <GEOMAlgo_PassKey.hxx>
#include <GEOMAlgo_PassKeyMapHasher.hxx>
#include <GEOMAlgo_PassKeyShape.hxx>
#include <GEOMAlgo_PassKeyShapeMapHasher.hxx>
#include <GEOMAlgo_ShapeAlgo.hxx>
#include <GEOMAlgo_ShapeInfo.hxx>
#include <GEOMAlgo_ShapeInfoFiller.hxx>
#include <GEOMAlgo_ShapeSet.hxx>
#include <GEOMAlgo_ShapeSolid.hxx>
#include <GEOMAlgo_ShellSolid.hxx>
#include <GEOMAlgo_SolidSolid.hxx>
#include <GEOMAlgo_Splitter.hxx>
#include <GEOMAlgo_State.hxx>
#include <GEOMAlgo_StateCollector.hxx>
#include <GEOMAlgo_SurfaceTools.hxx>
#include <GEOMAlgo_Tools.hxx>
#include <GEOMAlgo_Tools3D.hxx>
#include <GEOMAlgo_VertexSolid.hxx>
#include <GEOMAlgo_WESCorrector.hxx>
#include <GEOMAlgo_WESScaler.hxx>
#include <GEOMAlgo_WireEdgeSet.hxx>
#include <GEOMAlgo_WireSolid.hxx>
#include <GEOMAlgo_WireSplitter.hxx>
#include <GEOMImpl_3DSketcherDriver.hxx>
#include <GEOMImpl_ArcDriver.hxx>
#include <GEOMImpl_ArchimedeDriver.hxx>
#include <GEOMImpl_Block6Explorer.hxx>
#include <GEOMImpl_BlockDriver.hxx>
#include <GEOMImpl_BooleanDriver.hxx>
#include <GEOMImpl_BoxDriver.hxx>
#include <GEOMImpl_ChamferDriver.hxx>
#include <GEOMImpl_CircleDriver.hxx>
#include <GEOMImpl_ConeDriver.hxx>
#include <GEOMImpl_CopyDriver.hxx>
#include <GEOMImpl_CylinderDriver.hxx>
#include <GEOMImpl_DiskDriver.hxx>
#include <GEOMImpl_DividedDiskDriver.hxx>
#include <GEOMImpl_EllipseDriver.hxx>
#include <GEOMImpl_ExportDriver.hxx>
#include <GEOMImpl_FaceDriver.hxx>
#include <GEOMImpl_Fillet1d.hxx>
#include <GEOMImpl_Fillet1dDriver.hxx>
#include <GEOMImpl_Fillet2dDriver.hxx>
#include <GEOMImpl_FilletDriver.hxx>
#include <GEOMImpl_FillingDriver.hxx>
#include <GEOMImpl_Gen.hxx>
#include <GEOMImpl_GlueDriver.hxx>
#include <GEOMImpl_HealingDriver.hxx>
#include <GEOMImpl_I3DPrimOperations.hxx>
#include <GEOMImpl_I3DSketcher.hxx>
#include <GEOMImpl_IAdvancedOperations.hxx>
#include <GEOMImpl_IArc.hxx>
#include <GEOMImpl_IArchimede.hxx>
#include <GEOMImpl_IBasicOperations.hxx>
#include <GEOMImpl_IBlockTrsf.hxx>
#include <GEOMImpl_IBlocks.hxx>
#include <GEOMImpl_IBlocksOperations.hxx>
#include <GEOMImpl_IBoolean.hxx>
#include <GEOMImpl_IBooleanOperations.hxx>
#include <GEOMImpl_IBox.hxx>
#include <GEOMImpl_IChamfer.hxx>
#include <GEOMImpl_ICircle.hxx>
#include <GEOMImpl_ICone.hxx>
#include <GEOMImpl_ICopy.hxx>
#include <GEOMImpl_ICurvesOperations.hxx>
#include <GEOMImpl_ICylinder.hxx>
#include <GEOMImpl_IDisk.hxx>
#include <GEOMImpl_IDividedDisk.hxx>
#include <GEOMImpl_IEllipse.hxx>
#include <GEOMImpl_IFace.hxx>
#include <GEOMImpl_IFillet.hxx>
#include <GEOMImpl_IFillet1d.hxx>
#include <GEOMImpl_IFillet2d.hxx>
#include <GEOMImpl_IFilling.hxx>
#include <GEOMImpl_IGlue.hxx>
#include <GEOMImpl_IGroupOperations.hxx>
#include <GEOMImpl_IHealing.hxx>
#include <GEOMImpl_IHealingOperations.hxx>
#include <GEOMImpl_IImportExport.hxx>
#include <GEOMImpl_IInsertOperations.hxx>
#include <GEOMImpl_ILine.hxx>
#include <GEOMImpl_ILocalOperations.hxx>
#include <GEOMImpl_IMarker.hxx>
#include <GEOMImpl_IMeasure.hxx>
#include <GEOMImpl_IMeasureOperations.hxx>
#include <GEOMImpl_IMirror.hxx>
#include <GEOMImpl_IOffset.hxx>
#include <GEOMImpl_IPartition.hxx>
#include <GEOMImpl_IPipe.hxx>
#include <GEOMImpl_IPipeBiNormal.hxx>
#include <GEOMImpl_IPipeDiffSect.hxx>
#include <GEOMImpl_IPipePath.hxx>
#include <GEOMImpl_IPipeShellSect.hxx>
#include <GEOMImpl_IPipeTShape.hxx>
#include <GEOMImpl_IPlane.hxx>
#include <GEOMImpl_IPoint.hxx>
#include <GEOMImpl_IPolyline.hxx>
#include <GEOMImpl_IPosition.hxx>
#include <GEOMImpl_IPrism.hxx>
#include <GEOMImpl_IRevolution.hxx>
#include <GEOMImpl_IRotate.hxx>
#include <GEOMImpl_IScale.hxx>
#include <GEOMImpl_IShapes.hxx>
#include <GEOMImpl_IShapesOperations.hxx>
#include <GEOMImpl_ISketcher.hxx>
#include <GEOMImpl_ISphere.hxx>
#include <GEOMImpl_ISpline.hxx>
#include <GEOMImpl_IThruSections.hxx>
#include <GEOMImpl_ITorus.hxx>
#include <GEOMImpl_ITransformOperations.hxx>
#include <GEOMImpl_ITranslate.hxx>
#include <GEOMImpl_IVector.hxx>
#include <GEOMImpl_ImportDriver.hxx>
#include <GEOMImpl_LineDriver.hxx>
#include <GEOMImpl_MarkerDriver.hxx>
#include <GEOMImpl_MeasureDriver.hxx>
#include <GEOMImpl_MirrorDriver.hxx>
#include <GEOMImpl_OffsetDriver.hxx>
#include <GEOMImpl_PartitionDriver.hxx>
#include <GEOMImpl_PipeDriver.hxx>
#include <GEOMImpl_PipePathDriver.hxx>
#include <GEOMImpl_PipeTShapeDriver.hxx>
#include <GEOMImpl_PlaneDriver.hxx>
#include <GEOMImpl_PointDriver.hxx>
#include <GEOMImpl_PolylineDriver.hxx>
#include <GEOMImpl_PositionDriver.hxx>
#include <GEOMImpl_PrismDriver.hxx>
#include <GEOMImpl_ProjectionDriver.hxx>
#include <GEOMImpl_RevolutionDriver.hxx>
#include <GEOMImpl_RotateDriver.hxx>
#include <GEOMImpl_ScaleDriver.hxx>
#include <GEOMImpl_ShapeDriver.hxx>
#include <GEOMImpl_SketcherDriver.hxx>
#include <GEOMImpl_SphereDriver.hxx>
#include <GEOMImpl_SplineDriver.hxx>
#include <GEOMImpl_ThruSectionsDriver.hxx>
#include <GEOMImpl_TorusDriver.hxx>
#include <GEOMImpl_TranslateDriver.hxx>
#include <GEOMImpl_Types.hxx>
#include <GEOMImpl_VectorDriver.hxx>
#include <GEOMUtils.hxx>
#include <GEOM_Application.hxx>
#include <GEOM_Application.ixx>
#include <GEOM_Application.jxx>
#include <GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient.hxx>
#include <GEOM_DataMapNodeOfDataMapOfAsciiStringTransient.hxx>
#include <GEOM_DataMapOfAsciiStringTransient.hxx>
#include <GEOM_Engine.hxx>
#include <GEOM_Function.hxx>
#include <GEOM_GEOMImpl.hxx>
#include <GEOM_IOperations.hxx>
#include <GEOM_ISubShape.hxx>
#include <GEOM_Object.hxx>
#include <GEOM_PythonDump.hxx>
#include <GEOM_Solver.hxx>
#include <GEOM_SubShapeDriver.hxx>
#include <GUID.txt>
#include <Handle_GEOM_Application.hxx>
#include <Handle_GEOM_DataMapNodeOfDataMapOfAsciiStringTransient.hxx>
#include <NMTDS_BndSphere.hxx>
#include <NMTDS_BndSphere.lxx>
#include <NMTDS_BndSphereTree.hxx>
#include <NMTDS_BoxBndTree.hxx>
#include <NMTDS_CArray1OfIndexRange.hxx>
#include <NMTDS_DataMapIteratorOfDataMapOfIntegerMapOfInteger.hxx>
#include <NMTDS_DataMapOfIntegerMapOfInteger.hxx>
#include <NMTDS_IndexRange.hxx>
#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
#include <NMTDS_IndexedDataMapOfShapeBndSphere.hxx>
#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
#include <NMTDS_InterfPool.hxx>
#include <NMTDS_InterfType.hxx>
#include <NMTDS_Iterator.hxx>
#include <NMTDS_IteratorCheckerSI.hxx>
#include <NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
#include <NMTDS_ListIteratorOfListOfPair.hxx>
#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>
#include <NMTDS_ListIteratorOfListOfPassKey.hxx>
#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
#include <NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
#include <NMTDS_ListOfPair.hxx>
#include <NMTDS_ListOfPairBoolean.hxx>
#include <NMTDS_ListOfPassKey.hxx>
#include <NMTDS_ListOfPassKeyBoolean.hxx>
#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>
#include <NMTDS_MapIteratorOfMapOfPassKey.hxx>
#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
#include <NMTDS_MapOfPairBoolean.hxx>
#include <NMTDS_MapOfPassKey.hxx>
#include <NMTDS_MapOfPassKeyBoolean.hxx>
#include <NMTDS_PInterfPool.hxx>
#include <NMTDS_PIterator.hxx>
#include <NMTDS_PShapesDataStructure.hxx>
#include <NMTDS_Pair.hxx>
#include <NMTDS_PairBoolean.hxx>
#include <NMTDS_PairMapHasher.hxx>
#include <NMTDS_PassKey.hxx>
#include <NMTDS_PassKeyBoolean.hxx>
#include <NMTDS_PassKeyMapHasher.hxx>
#include <NMTDS_PassKeyShape.hxx>
#include <NMTDS_PassKeyShapeMapHasher.hxx>
#include <NMTDS_ShapesDataStructure.hxx>
#include <NMTDS_Tools.hxx>
#include <NMTTools_CheckerSI.hxx>
#include <NMTTools_CommonBlock.hxx>
#include <NMTTools_CommonBlockAPI.hxx>
#include <NMTTools_CommonBlockPool.hxx>
#include <NMTTools_CoupleOfShape.hxx>
#include <NMTTools_DEProcessor.hxx>
#include <NMTTools_DataMapIteratorOfDataMapOfIntegerFaceInfo.hxx>
#include <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
#include <NMTTools_DataMapOfIntegerFaceInfo.hxx>
#include <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
#include <NMTTools_FaceInfo.hxx>
#include <NMTTools_FaceInfo.lxx>
#include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
#include <NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx>
#include <NMTTools_IndexedDataMapOfShapePaveBlock.hxx>
#include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
#include <NMTTools_ListIteratorOfListOfCoupleOfShape.hxx>
#include <NMTTools_ListOfCommonBlock.hxx>
#include <NMTTools_ListOfCoupleOfShape.hxx>
#include <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
#include <NMTTools_MapOfPaveBlock.hxx>
#include <NMTTools_PPaveFiller.hxx>
#include <NMTTools_PaveFiller.hxx>
#include <NMTTools_Tools.hxx>
#include <OpUtil.hxx>
#include <SALOME_Basics.hxx>
#include <SALOME_Utils.hxx>
#include <ShHealOper_ChangeOrientation.hxx>
#include <ShHealOper_CloseContour.hxx>
#include <ShHealOper_EdgeDivide.hxx>
#include <ShHealOper_FillHoles.hxx>
#include <ShHealOper_RemoveFace.hxx>
#include <ShHealOper_RemoveInternalWires.hxx>
#include <ShHealOper_Sewing.hxx>
#include <ShHealOper_ShapeProcess.hxx>
#include <ShHealOper_SpiltCurve2d.hxx>
#include <ShHealOper_SplitCurve2d.hxx>
#include <ShHealOper_SplitCurve3d.hxx>
#include <ShHealOper_Tool.hxx>
#include <Sketcher_Profile.hxx>
#include <Utils_ExceptHandlers.hxx>
#include <Utils_SALOME_Exception.hxx>
#include <utilities.h>

#endif

#if defined(WIN32)
#undef min
#undef max
#endif

#endif
