{
Standard_Real f,l;
C = BRep_Tool::Curve(E,L,f,l);
- if (C.IsNull())
- {
- return Standard_False;
- }
Tol = BRep_Tool::Tolerance(E);
Tol *= Abs(myTrsf.ScaleFactor());
//! - P is a new polygon on triangulation
Standard_EXPORT Standard_Boolean NewPolygonOnTriangulation(const TopoDS_Edge& E, const TopoDS_Face& F, Handle(Poly_PolygonOnTriangulation)& P) Standard_OVERRIDE;
- //! Returns true if the edge E has been modified.
- //! If the edge has been modified:
+ //! Always returns true indicating that the edge E is always modified.
//! - C is the new geometric support of the edge,
//! - L is the new location, and
//! - Tol is the new tolerance.
- //! If the edge has not been modified, this function
- //! returns false, and the values of C, L and Tol are not significant.
Standard_EXPORT Standard_Boolean NewCurve (const TopoDS_Edge& E, Handle(Geom_Curve)& C, TopLoc_Location& L, Standard_Real& Tol) Standard_OVERRIDE;
//! Returns true if the vertex V has been modified.
--- /dev/null
+puts "========================"
+puts "0033591: Modeling Algorithms - Regression: old surface is not removed after translation or rotation with geometry copying"
+puts "========================"
+puts ""
+
+pload MODELING
+psphere Sphere_1 80
+trotate Sphere_1 0 0 0 0 1 0 90 -copy
+ttranslate Sphere_1 0 0 200 -copy
+
+catch {dump Sphere_1} dumpOutput
+if {[regexp {Dump of ([0-9]+) surfaces} $dumpOutput match num]} {
+ set numSurfaces $num
+}
+
+if {$numSurfaces != 1} {
+ puts "Error: The number of surfaces must be 1"
+}