0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- manual
[occt.git] / src / DNaming / DNaming_PrismDriver.hxx
CommitLineData
42cf5bc1 1// Created on: 2009-06-16
2// Created by: Sergey ZARITCHNY <sergey.zaritchny@opencascade.com>
3// Copyright (c) 2009-2014 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#ifndef _DNaming_PrismDriver_HeaderFile
17#define _DNaming_PrismDriver_HeaderFile
18
19#include <Standard.hxx>
20#include <Standard_Type.hxx>
21
22#include <TFunction_Driver.hxx>
23#include <Standard_Boolean.hxx>
24#include <Standard_Integer.hxx>
25class TFunction_Logbook;
26class TDF_Label;
27class BRepPrimAPI_MakePrism;
28class TopoDS_Shape;
29
30
31class DNaming_PrismDriver;
32DEFINE_STANDARD_HANDLE(DNaming_PrismDriver, TFunction_Driver)
33
34
35class DNaming_PrismDriver : public TFunction_Driver
36{
37
38public:
39
40
41 //! Constructor
42 //! validation
43 //! ==========
44 Standard_EXPORT DNaming_PrismDriver();
45
46 //! Validates labels of a function in <log>.
47 //! In regeneration mode this method must be called (by the
48 //! solver) even if the function is not executed, to build
49 //! the valid label scope.
50 //! execution of function
51 //! ======================
f486f64d 52 Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
42cf5bc1 53
54 //! Analyse in <log> if the loaded function must be executed
55 //! (i.e.arguments are modified) or not.
56 //! If the Function label itself is modified, the function must
57 //! be executed.
f486f64d 58 Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
42cf5bc1 59
60 //! Execute the function and push in <log> the impacted
61 //! labels (see method SetImpacted).
f486f64d 62 Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
42cf5bc1 63
64
65
66
67 DEFINE_STANDARD_RTTI(DNaming_PrismDriver,TFunction_Driver)
68
69protected:
70
71
72
73
74private:
75
76
77 Standard_EXPORT void LoadNamingDS (const TDF_Label& theResultLabel, BRepPrimAPI_MakePrism& mkPrism, const TopoDS_Shape& Basis, const TopoDS_Shape& Context) const;
78
79
80
81};
82
83
84
85
86
87
88
89#endif // _DNaming_PrismDriver_HeaderFile