2 * Project Info: http://jcae.sourceforge.net
4 * This program is free software; you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License as published by the Free
6 * Software Foundation; either version 2.1 of the License, or (at your option)
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
18 * (C) Copyright 2007, by EADS France
21 %{ #include <ShapeFix_Wireframe.hxx> %}
22 %{ #include <ShapeFix_Root.hxx> %}
23 %{ #include <ShapeBuild_ReShape.hxx> %}
29 %rename(setPrecision) SetPrecision;
30 %rename(getPrecision) Precision;
31 %rename(setContext) SetContext;
32 void SetPrecision(const Standard_Real preci) ;
33 Standard_Real Precision() const;
34 void SetContext(const ShapeBuild_ReShape * context) ;
39 ShapeBuild_ReShape * getContext()
41 Standard_Transient * p = self->Context();
42 return dynamic_cast<ShapeBuild_ReShape *>(p);
46 class ShapeFix_Wireframe: public ShapeFix_Root
50 ShapeFix_Wireframe(const TopoDS_Shape& shape);
51 %rename(fixWireGaps) FixWireGaps;
52 %rename(fixSmallEdges) FixSmallEdges;
53 %rename(setLimitAngle) SetLimitAngle;
54 %rename(getLimitAngle) LimitAngle;
56 %javamethodmodifiers FixWireGaps() "
58 * Fixes gaps between ends of curves of adjacent edges (both 3d and pcurves)
59 * in wires. If precision is 0.0, uses Precision::Confusion().
62 Standard_Boolean FixWireGaps();
64 %javamethodmodifiers FixSmallEdges() "
66 * Fixes small edges in shape by merging adjacent edges.
67 * If precision is 0.0, uses Precision::Confusion().
70 Standard_Boolean FixSmallEdges() ;
72 %javamethodmodifiers SetLimitAngle(const Standard_Real theLimitAngle) "
74 * If two edges makes an angle greater this angle, these two edges
78 void SetLimitAngle(const Standard_Real theLimitAngle) ;
79 Standard_Real LimitAngle() const;
80 TopoDS_Shape Shape() ;
83 %extend ShapeFix_Wireframe
85 void setDropSmallEdges(bool b)
87 self->ModeDropSmallEdges()=b;
89 bool getDropSmallEdges()
91 return self->ModeDropSmallEdges()!=0;