0024023: Revamp the OCCT Handle -- downcast (automatic)
[occt.git] / src / TopOpeBRepTool / TopOpeBRepTool_ShapeTool.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 9c6f44e..dd708a8
@@ -1,23 +1,18 @@
 // Created on: 1994-02-09
 // Created by: Jean Yves LEBEY
 // Copyright (c) 1994-1999 Matra Datavision
-// Copyright (c) 1999-2012 OPEN CASCADE SAS
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
 //
-// The content of this file is subject to the Open CASCADE Technology Public
-// License Version 6.5 (the "License"). You may not use the content of this file
-// except in compliance with the License. Please obtain a copy of the License
-// at http://www.opencascade.org and read it completely before using this file.
+// This file is part of Open CASCADE Technology software library.
 //
-// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
 //
-// The Original Code and all software distributed under the License is
-// distributed on an "AS IS" basis, without warranty of any kind, and the
-// Initial Developer hereby disclaims all such warranties, including without
-// limitation, any warranties of merchantability, fitness for a particular
-// purpose or non-infringement. Please see the License for the specific terms
-// and conditions governing the rights and limitations under the License.
-
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
 
 #include <TopOpeBRepTool_ShapeTool.ixx>
 
@@ -249,7 +244,7 @@ Standard_Boolean TopOpeBRepTool_ShapeTool::Closed(const TopoDS_Shape& S1,
 }
 
 
-#ifdef DEB
+#ifdef OCCT_DEBUG
 extern Standard_Boolean TopOpeBRepTool_GettraceVC();
 extern Standard_Boolean TopOpeBRepTool_GettraceNYI();
 #endif
@@ -317,9 +312,6 @@ Standard_Real TopOpeBRepTool_ShapeTool::PeriodizeParameter
 
   Standard_Real Ufirst,Ulast,Vfirst,Vlast;
   Surf->Bounds(Ufirst,Ulast,Vfirst,Vlast);
-  Standard_Real Uperiod = 0., Vperiod = 0.;
-  if (isUperio) Uperiod = Ulast - Ufirst;
-  if (isVperio) Vperiod = Vlast - Vfirst;
 
   Standard_Real first,last,tolpc;
   const Handle(Geom2d_Curve) PC = FC2D_CurveOnSurface(E,F,first,last,tolpc);
@@ -328,7 +320,7 @@ Standard_Real TopOpeBRepTool_ShapeTool::PeriodizeParameter
   Handle(Standard_Type) TheType = PC->DynamicType();
   if (TheType == STANDARD_TYPE(Geom2d_Line)) {
 
-    const Handle(Geom2d_Line)& HL = *((Handle(Geom2d_Line)*)&PC);
+    Handle(Geom2d_Line) HL (Handle(Geom2d_Line)::DownCast (PC));
     const gp_Dir2d&  D = HL->Direction();
 
     Standard_Real    tol = Precision::Angular();
@@ -342,7 +334,7 @@ Standard_Real TopOpeBRepTool_ShapeTool::PeriodizeParameter
       periopar = ADJUST(par,Vfirst,Vlast,tol);
     }
 
-#ifdef DEB
+#ifdef OCCT_DEBUG
     if (TopOpeBRepTool_GettraceVC()) {
       cout<<"TopOpeBRepTool_ShapeTool PC on edge is ";
       if      (isoU) cout<<"isoU f,l "<<Ufirst<<" "<<Ulast<<endl;
@@ -457,7 +449,7 @@ Standard_Boolean TopOpeBRepTool_ShapeTool::SurfacesSameOriented
   else { 
     // prendre u1,v1 et projeter sur 2 pour calcul des normales
     // au meme point 3d.
-#ifdef DEB
+#ifdef OCCT_DEBUG
     if (TopOpeBRepTool_GettraceNYI()) {
       cout<<"TopOpeBRepTool_ShapeTool::SurfacesSameOriented surfaces non traitees : NYI";
       cout<<endl;
@@ -521,7 +513,7 @@ Standard_Boolean TopOpeBRepTool_ShapeTool::CurvesSameOriented
   else { 
     // prendre p1 et projeter sur 2 pour calcul des normales
     // au meme point 3d.
-#ifdef DEB
+#ifdef OCCT_DEBUG
     if (TopOpeBRepTool_GettraceNYI()) { 
       cout<<"TopOpeBRepTool_ShapeTool::CurvesSameOriented non lineaires : NYI";
       cout<<endl;