0024904: Visualization - Integration of VIS component:
[occt.git] / src / IVtk / IVtk_IShapeMesher.cxx
1 // Created on: 2011-10-11 
2 // Created by: Roman KOZLOV
3 // Copyright (c) 2011-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 #include <IVtk_IShapeMesher.hxx>
17
18 // Handle implementation
19 IMPLEMENT_STANDARD_HANDLE(IVtk_IShapeMesher, IVtk_Interface)
20 IMPLEMENT_STANDARD_RTTIEXT(IVtk_IShapeMesher, IVtk_Interface)
21
22 //! Excutes the mesh generation algorithms. To be defined in implementation class.
23 void IVtk_IShapeMesher::initialize (const IVtk_IShape::Handle&     theShape,
24                                     const IVtk_IShapeData::Handle& theData)
25 {
26   myShapeObj = theShape;
27   myShapeData = theData;
28 }
29
30 //! Main entry point for building shape representation
31 //! @param [in] shape IShape to be meshed
32 //! @param [in] data IShapeData interface visualization data is passed to.
33 void IVtk_IShapeMesher::Build (const IVtk_IShape::Handle&     theShape,
34                                const IVtk_IShapeData::Handle& theData)
35 {
36   if (!theShape.IsNull())
37   {
38     initialize (theShape, theData);
39     internalBuild();
40   }
41 }