0024623: Visualization - improve selection mechanism
[occt.git] / samples / mfc / standard / 01_Geometry / src / StdAfx.h
CommitLineData
7fd59977 1// stdafx.h : include file for standard system include files,
2// or project specific include files that are used frequently, but
3// are changed infrequently
4//
5
6#if _MSC_VER >= 1000
7#pragma once
8#endif // _MSC_VER >= 1000
9
10#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
11
12#include <afxwin.h> // MFC core and standard components
13#include <afxext.h> // MFC extensions
14#include <afxdisp.h> // MFC OLE automation classes
15#ifndef _AFX_NO_AFXCMN_SUPPORT
16#include <afxcmn.h> // MFC support for Windows Common Controls
17#endif // _AFX_NO_AFXCMN_SUPPORT
18
19#if !defined(WNT)
20 #error WNT precompiler directive is mandatory for CasCade
21#endif
22
23#pragma warning( disable : 4244 ) // Issue warning 4244
24#include "Standard_ShortReal.hxx"
25#pragma warning( default : 4244 ) // Issue warning 4244
26
27#include <Standard.hxx>
28/*
29#ifndef Version15B
30# ifndef Version15D
31# ifndef Version20
32# define Version15B
33# endif // Version20
34# endif // Version15D
35#endif // Version15B
36
37#pragma message ("=============================")
38#ifdef Version15B
39# pragma message ("Set the libs for version 1.5B")
40#endif // Version15B
41
42#ifdef Version15D
43# pragma message ("Set the libs for version 1.5D")
44#endif // Version15D
45
46#ifdef Version20
47# pragma message ("Set the libs for version 2.0 ")
48#endif // Version20
49#pragma message ("=============================")
50
51#ifdef Version15B
52# pragma comment (lib,"TKTop.lib")
53# pragma comment (lib,"TShort.lib")
54# pragma comment (lib,"TColQuantity.lib")
55#endif
56
57#ifdef Version15D
58# pragma comment (lib,"TKTop.lib")
59#endif
60
61#ifdef Version20
62# pragma comment (lib,"TKTop1.lib")
63# pragma comment (lib,"TKTop2.lib")
64#endif
65
66#pragma message ("Set the specific libs for the application")
67# pragma comment (lib,"TKPrs.lib")
68# pragma comment (lib,"TKGeom.lib")
69# pragma comment (lib,"TKGlt.lib")
70# pragma comment (lib,"TKGraphic.lib")
71# pragma comment (lib,"TKPrsMgr.lib")
72# pragma comment (lib,"TKViewers.lib")
73# pragma comment (lib,"TKSession.lib")
74# pragma comment (lib,"Bnd.lib")
75# pragma comment (lib,"gp.lib")
76# pragma comment (lib,"TColgp.lib")
77# pragma comment (lib,"TKernel.lib")
78# pragma comment (lib,"TKXSBase.lib")
79# pragma comment (lib,"TKXSIGES.lib")
80# pragma comment (lib,"TKXS214.lib")
81# pragma comment (lib,"UnitsAPI.lib")
82*/
83
84#include <AIS_InteractiveContext.hxx>
85#include <AIS_Shape.hxx>
5c1f974e 86#include <AIS_Point.hxx>
5c1f974e 87#include <Aspect_Grid.hxx>
88#include <Aspect_Window.hxx>
89#include <Aspect_Background.hxx>
90
9a148b08 91#include <BRepMesh_IncrementalMesh.hxx>
7fd59977 92#include <BRepAlgo.hxx>
93#include <BRep_Builder.hxx>
5c1f974e 94#include <BRepBuilderAPI_MakeVertex.hxx>
95#include <BRepBuilderAPI_MakeFace.hxx>
7fd59977 96#include <BRepTools.hxx>
5c1f974e 97#include <Bnd_Box2d.hxx>
98#include <BndLib.hxx>
99#include <BndLib_Add2dCurve.hxx>
100#include <BndLib_Add3dCurve.hxx>
101#include <BndLib_AddSurface.hxx>
102#include <BRep_Tool.hxx>
7fd59977 103
5c1f974e 104#include <DsgPrs_LengthPresentation.hxx>
105#include <FairCurve_Batten.hxx>
106#include <FairCurve_MinimalVariation.hxx>
7fd59977 107
5c1f974e 108#include <GC_MakeCircle.hxx>
109#include <GC_MakeTranslation.hxx>
110#include <GC_MakeSegment.hxx>
111#include <GC_MakeConicalSurface.hxx>
112#include <GC_MakePlane.hxx>
113#include <GC_MakeEllipse.hxx>
114#include <GccAna_Circ2d2TanRad.hxx>
115#include <GccAna_Lin2d2Tan.hxx>
116#include <GccAna_Pnt2dBisec.hxx>
117#include <GccEnt.hxx>
118#include <GccEnt_QualifiedCirc.hxx>
119#include <GccEnt_QualifiedLin.hxx>
120#include <gce_MakeCirc2d.hxx>
121#include <gce_MakeLin2d.hxx>
122#include <GCE2d_MakeSegment.hxx>
123#include <GCE2d_MakeParabola.hxx>
124#include <GCE2d_MakeEllipse.hxx>
125#include <GCE2d_MakeArcOfCircle.hxx>
126#include <GCE2d_MakeArcOfEllipse.hxx>
127#include <GCPnts_AbscissaPoint.hxx>
128#include <GCPnts_QuasiUniformDeflection.hxx>
129#include <GCPnts_TangentialDeflection.hxx>
130#include <GCPnts_UniformAbscissa.hxx>
131#include <Geom_BezierSurface.hxx>
132#include <Geom_BSplineCurve.hxx>
133#include <Geom_BSplineSurface.hxx>
134#include <Geom_CartesianPoint.hxx>
135#include <Geom_Circle.hxx>
136#include <Geom_Curve.hxx>
137#include <Geom_Line.hxx>
138#include <Geom_Plane.hxx>
139#include <Geom_RectangularTrimmedSurface.hxx>
140#include <Geom_Surface.hxx>
141#include <Geom_SphericalSurface.hxx>
142#include <Geom_Transformation.hxx>
143#include <Geom_TrimmedCurve.hxx>
144#include <Geom_OffsetSurface.hxx>
145#include <Geom_SurfaceOfLinearExtrusion.hxx>
146#include <Geom_SurfaceOfRevolution.hxx>
147#include <Geom2dAPI_ExtremaCurveCurve.hxx>
148#include <Geom2dAPI_InterCurveCurve.hxx>
149#include <Geom2dAPI_Interpolate.hxx>
150#include <Geom2dAPI_PointsToBSpline.hxx>
151#include <Geom2d_OffsetCurve.hxx>
152#include <Geom2d_Circle.hxx>
153#include <Geom2d_Curve.hxx>
154#include <Geom2d_Ellipse.hxx>
155#include <Geom2d_Line.hxx>
156#include <Geom2d_TrimmedCurve.hxx>
157#include <Geom2d_BezierCurve.hxx>
158#include <Geom2d_BSplineCurve.hxx>
159#include <Geom2d_Parabola.hxx>
160#include <Geom2dAdaptor_Curve.hxx>
161#include <Geom2dConvert.hxx>
162#include <Geom2dLProp_Curve2dTool.hxx>
163#include <Geom2dLProp_CLProps2d.hxx>
164#include <GeomAbs_CurveType.hxx>
165#include <GeomAdaptor_Curve.hxx>
166#include <GeomAdaptor_HCurve.hxx>
167#include <GeomAdaptor_Surface.hxx>
168#include <GeomAdaptor_HSurface.hxx>
169#include <GeomAPI.hxx>
170#include <GeomAPI_ExtremaSurfaceSurface.hxx>
171#include <GeomAPI_IntCS.hxx>
172#include <GeomAPI_PointsToBSplineSurface.hxx>
173#include <GeomAPI_PointsToBSpline.hxx>
174#include <GeomAPI_ProjectPointOnSurf.hxx>
175#include <GeomAPI_ProjectPointOnCurve.hxx>
176#include <GeomAPI_Interpolate.hxx>
177#include <GeomConvert.hxx>
178#include <GeomConvert_CompBezierSurfacesToBSplineSurface.hxx>
179#include <GeomFill_ConstrainedFilling.hxx>
180#include <GeomFill_SimpleBound.hxx>
181#include <GeomFill_FillingStyle.hxx>
182#include <GeomFill_BSplineCurves.hxx>
183#include <GeomFill_Pipe.hxx>
184#include <GeomLib.hxx>
185#include <GeomPlate_BuildPlateSurface.hxx>
186#include <GeomPlate_PointConstraint.hxx>
187#include <GeomPlate_MakeApprox.hxx>
188#include <GeomTools.hxx>
189#include <GeomTools_Curve2dSet.hxx>
190#include <Graphic3d_Group.hxx>
191#include <Graphic3d_Array1OfVertex.hxx>
192#include <Graphic3d_ArrayOfPolylines.hxx>
e5b32824 193#include <Graphic3d_ArrayOfSegments.hxx>
5c1f974e 194#include <GProp_PEquation.hxx>
195#include <gp.hxx>
196#include <gp_Ax2d.hxx>
197#include <gp_Circ2d.hxx>
198#include <gp_Dir2d.hxx>
199#include <gp_Dir.hxx>
200#include <gp_Elips.hxx>
201#include <gp_Lin.hxx>
202#include <gp_Lin2d.hxx>
203#include <gp_Mat.hxx>
204#include <gp_Parab2d.hxx>
205#include <gp_Pln.hxx>
206#include <gp_Pnt2d.hxx>
207#include <gp_Trsf.hxx>
208#include <gp_Vec2d.hxx>
7fd59977 209
5c1f974e 210#include <IntAna_IntConicQuad.hxx>
7fd59977 211
5c1f974e 212#include <OSD_Environment.hxx>
65993a95 213#include <OpenGl_GraphicDriver.hxx>
7fd59977 214
5c1f974e 215#include <Poly_Triangulation.hxx>
216#include <Precision.hxx>
e5b32824 217#include <Prs3d_Arrow.hxx>
6262338c 218#include <Prs3d_Drawer.hxx>
5c1f974e 219#include <Prs3d_Root.hxx>
220#include <Prs3d_Text.hxx>
221#include <Prs3d_ArrowAspect.hxx>
222#include <Prs3d_IsoAspect.hxx>
223#include <PrsMgr_PresentationManager3d.hxx>
224#include <Prs3d_IsoAspect.hxx>
225#include <Prs3d_TextAspect.hxx>
226#include <Prs3d_PointAspect.hxx>
7fd59977 227
5c1f974e 228#include <SelectMgr_EntityOwner.hxx>
229#include <SelectMgr_SelectableObject.hxx>
230#include <SelectMgr_Selection.hxx>
231#include <SelectMgr_SelectionManager.hxx>
5c1f974e 232#include <ShapeAnalysis_FreeBounds.hxx>
233#include <ShapeFix_Shape.hxx>
234#include <StdSelect_ViewerSelector3d.hxx>
235#include <StdPrs_WFDeflectionShape.hxx>
236#include <StdPrs_ShadedSurface.hxx>
237#include <StdPrs_Point.hxx>
238#include <StdPrs_WFSurface.hxx>
239#include <StdPrs_WFPoleSurface.hxx>
240#include <StdPrs_Curve.hxx>
241#include <StdPrs_PoleCurve.hxx>
242#include <Standard_ErrorHandler.hxx>
7fd59977 243
5c1f974e 244#include <TColStd_MapIteratorOfMapOfTransient.hxx>
245#include <TColgp_Array1OfPnt.hxx>
7fd59977 246#include <TColgp_Array2OfPnt.hxx>
5c1f974e 247#include <TColgp_Array1OfPnt2d.hxx>
248#include <TColgp_Array2OfPnt2d.hxx>
249#include <TColgp_HArray1OfPnt.hxx>
250#include <TColgp_HArray1OfPnt2d.hxx>
7fd59977 251#include <TColgp_SequenceOfPnt.hxx>
5c1f974e 252#include <TColgp_SequenceOfPnt2d.hxx>
253#include <TColGeom_Array2OfBezierSurface.hxx>
254#include <TColStd_HArray1OfInteger.hxx>
255#include <TopoDS_Shape.hxx>
256#include <TopoDS_Solid.hxx>
257#include <TopoDS.hxx>
258#include <TopoDS_ListIteratorOfListOfShape.hxx>
7fd59977 259#include <TopExp.hxx>
5c1f974e 260#include <TopExp_Explorer.hxx>
261#include <TopoDS_Compound.hxx>
7fd59977 262#include <TopoDS_Wire.hxx>
263#include <TopoDS_Builder.hxx>
5c1f974e 264#include <TopoDS_Vertex.hxx>
265#include <TopoDS_Shape.hxx>
266#include <TopoDS_Face.hxx>
267#include <TopTools_IndexedMapOfShape.hxx>
268
269#include <V3d_Viewer.hxx>
270#include <V3d_View.hxx>
271#include <WNT_Window.hxx>
7fd59977 272
273#include "ISession2D_Curve.h"
274#include "ISession_Direction.h"
7fd59977 275#include "ISession_Curve.h"
276#include "ISession_Surface.h"
277#include "ISession_Text.h"
278#include "ISession_Point.h"
279
280#include <UnitsAPI.hxx>
281#include "..\res\resource.h"
282
283
284//{{AFX_INSERT_LOCATION}}
285// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
286