From bd5160a5fa1714ce14332d71d76ed2676fe13277 Mon Sep 17 00:00:00 2001 From: jgv Date: Fri, 26 Feb 2016 15:20:32 +0300 Subject: [PATCH] 0027207: New universal method for extracting of results of work of HLRBRep_Algo algorithm New method HLRBRep_HLRToShape::CompoundOfEdges with options: - type of resulting edge - visibility - 3d/2d has been added. Minor correction of comments --- src/HLRBRep/FILES | 1 + src/HLRBRep/HLRBRep_HLRToShape.hxx | 20 +++++++++- src/HLRBRep/HLRBRep_HLRToShape.lxx | 23 +++++++++++ src/HLRBRep/HLRBRep_TypeOfResultingEdge.hxx | 42 +++++++++++++++++++++ 4 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 src/HLRBRep/HLRBRep_TypeOfResultingEdge.hxx diff --git a/src/HLRBRep/FILES b/src/HLRBRep/FILES index 422c9c1a0c..1e18766853 100644 --- a/src/HLRBRep/FILES +++ b/src/HLRBRep/FILES @@ -137,3 +137,4 @@ HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf.hxx HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf_0.cxx HLRBRep_VertexList.cxx HLRBRep_VertexList.hxx +HLRBRep_TypeOfResultingEdge.hxx diff --git a/src/HLRBRep/HLRBRep_HLRToShape.hxx b/src/HLRBRep/HLRBRep_HLRToShape.hxx index d4c51596cf..d88d2ab0a8 100644 --- a/src/HLRBRep/HLRBRep_HLRToShape.hxx +++ b/src/HLRBRep/HLRBRep_HLRToShape.hxx @@ -24,6 +24,7 @@ #include #include #include +#include class HLRBRep_Algo; class TopoDS_Shape; class HLRBRep_Data; @@ -111,7 +112,24 @@ public: TopoDS_Shape IsoLineHCompound(); TopoDS_Shape IsoLineHCompound (const TopoDS_Shape& S); - + + //! Returns compound of resulting edges + //! of required type and visibility, + //! taking into account the kind of space + //! (2d or 3d) + TopoDS_Shape CompoundOfEdges(const HLRBRep_TypeOfResultingEdge type, + const Standard_Boolean visible, + const Standard_Boolean In3d); + + //! For specified shape + //! returns compound of resulting edges + //! of required type and visibility, + //! taking into account the kind of space + //! (2d or 3d) + TopoDS_Shape CompoundOfEdges(const TopoDS_Shape& S, + const HLRBRep_TypeOfResultingEdge type, + const Standard_Boolean visible, + const Standard_Boolean In3d); diff --git a/src/HLRBRep/HLRBRep_HLRToShape.lxx b/src/HLRBRep/HLRBRep_HLRToShape.lxx index d2ca47fcd4..286372a52a 100644 --- a/src/HLRBRep/HLRBRep_HLRToShape.lxx +++ b/src/HLRBRep/HLRBRep_HLRToShape.lxx @@ -193,3 +193,26 @@ inline TopoDS_Shape HLRBRep_HLRToShape::IsoLineHCompound() inline TopoDS_Shape HLRBRep_HLRToShape::IsoLineHCompound(const TopoDS_Shape& S) { return InternalCompound(1,Standard_False,S); } + +//======================================================================= +//function : CompoundOfEdges +//purpose : +//======================================================================= + +inline TopoDS_Shape +HLRBRep_HLRToShape::CompoundOfEdges(const HLRBRep_TypeOfResultingEdge type, + const Standard_Boolean visible, + const Standard_Boolean In3d) +{ return InternalCompound(type,visible,TopoDS_Shape(),In3d); } + +//======================================================================= +//function : CompoundOfEdges +//purpose : +//======================================================================= + +inline TopoDS_Shape +HLRBRep_HLRToShape::CompoundOfEdges(const TopoDS_Shape& S, + const HLRBRep_TypeOfResultingEdge type, + const Standard_Boolean visible, + const Standard_Boolean In3d) +{ return InternalCompound(type,visible,S,In3d); } diff --git a/src/HLRBRep/HLRBRep_TypeOfResultingEdge.hxx b/src/HLRBRep/HLRBRep_TypeOfResultingEdge.hxx new file mode 100644 index 0000000000..fd04ff80bc --- /dev/null +++ b/src/HLRBRep/HLRBRep_TypeOfResultingEdge.hxx @@ -0,0 +1,42 @@ +// Created on: 2016-02-26 +// Created by: Julia GERASIMOVA +// Copyright (c) 1991-1999 Matra Datavision +// Copyright (c) 1999-2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// 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. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef _HLRBRep_TypeOfResultingEdge_HeaderFile +#define _HLRBRep_TypeOfResultingEdge_HeaderFile + + +//! Identifies the type of resulting edge of HLRBRep_Algo +enum HLRBRep_TypeOfResultingEdge +{ +HLRBRep_Undefined, + +//! isoparametric line +HLRBRep_IsoLine, + +//! outline ("silhouette") +HLRBRep_OutLine, + +//! smooth edge of G1-continuity between two surfaces +HLRBRep_Rg1Line, + +//! sewn edge of CN-continuity on one surface +HLRBRep_RgNLine, + +//! sharp edge (of C0-continuity) +HLRBRep_Sharp +}; + +#endif // _HLRBRep_TypeOfResultingEdge_HeaderFile -- 2.20.1