smesh/src/DriverSTL/DriverSTL_W_SMDS_Mesh.h

64 lines
1.8 KiB
C
Raw Normal View History

2013-04-01 19:05:47 +06:00
// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
2009-02-17 10:27:49 +05:00
//
2012-08-09 16:03:55 +06:00
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
2009-02-17 10:27:49 +05:00
//
2012-08-09 16:03:55 +06:00
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License.
2003-07-10 15:06:41 +06:00
//
2012-08-09 16:03:55 +06:00
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
2003-07-10 15:06:41 +06:00
//
2012-08-09 16:03:55 +06:00
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2003-07-10 15:06:41 +06:00
//
2012-08-09 16:03:55 +06:00
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
2003-07-10 15:06:41 +06:00
//
2012-08-09 16:03:55 +06:00
2009-02-17 10:27:49 +05:00
// SMESH DriverSTL : driver to read and write 'stl' files
2004-12-01 15:48:31 +05:00
// File : DriverSTL_W_SMDS_Mesh.h
2003-07-10 15:06:41 +06:00
// Module : SMESH
2009-02-17 10:27:49 +05:00
//
2004-12-01 15:48:31 +05:00
#ifndef _INCLUDE_DRIVERSTL_W_SMDS_MESH
#define _INCLUDE_DRIVERSTL_W_SMDS_MESH
2003-05-19 20:07:00 +06:00
#include "SMESH_DriverSTL.hxx"
2004-12-01 15:48:31 +05:00
#include "Driver_SMDS_Mesh.h"
2012-08-09 16:03:55 +06:00
#include "SMDS_ElemIterator.hxx"
#include <vector>
2003-05-19 20:07:00 +06:00
/*!
* \brief Writer of a mesh in STL (STereoLithography) file format.
*/
class MESHDRIVERSTL_EXPORT DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
2003-09-04 16:56:52 +06:00
{
2004-12-01 15:48:31 +05:00
public:
DriverSTL_W_SMDS_Mesh();
2012-08-09 16:03:55 +06:00
~DriverSTL_W_SMDS_Mesh();
2004-12-01 15:48:31 +05:00
virtual Status Perform();
void SetIsAscii( const bool theIsAscii = false );
2003-05-19 20:07:00 +06:00
2004-12-01 15:48:31 +05:00
private:
// PRIVATE METHODS
Status writeAscii () const;
Status writeBinary () const;
2012-08-09 16:03:55 +06:00
void findVolumeTriangles();
SMDS_ElemIteratorPtr getFaces() const;
2003-05-19 20:07:00 +06:00
2004-12-01 15:48:31 +05:00
private:
// PRIVATE FIELDS
bool myIsAscii;
2012-08-09 16:03:55 +06:00
std::vector<const SMDS_MeshElement*> myVolumeTrias; // tmp triangles
2003-05-19 20:07:00 +06:00
};
2004-12-01 15:48:31 +05:00
2003-05-19 20:07:00 +06:00
#endif