// Created on: 1998-10-29 // Created by: Jean Yves LEBEY // Copyright (c) 1998-1999 Matra Datavision // Copyright (c) 1999-2012 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. // // 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. // // 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. #ifdef DRAW #include #endif #include #include #include #include //======================================================================= //function : TopOpeBRep_Point2d //purpose : //======================================================================= TopOpeBRep_Point2d::TopOpeBRep_Point2d() : myhaspint(Standard_False), myisvertex1(Standard_False), myparameter1(0.), myisvertex2(Standard_False), myparameter2(0.), myispointofsegment(Standard_False), myips1(0),myips2(0),myhasancestors(Standard_False), mystatus(TopOpeBRep_P2DUNK), myindex(0), mykeep(Standard_True), myedgesconfig(TopOpeBRepDS_UNSHGEOMETRY), mytolerance(0.) { } //======================================================================= //function : Vertex //purpose : //======================================================================= const TopoDS_Vertex& TopOpeBRep_Point2d::Vertex(const Standard_Integer Index) const { if (!IsVertex(Index)) Standard_Failure::Raise("TopOpeBRep_Point2d::Vertex"); if (Index == 1) return myvertex1; else if (Index == 2) return myvertex2; else Standard_Failure::Raise("TopOpeBRep_Point2d::Vertex"); return myvertex1; } //======================================================================= //function : Transition //purpose : //======================================================================= const TopOpeBRepDS_Transition& TopOpeBRep_Point2d::Transition(const Standard_Integer Index) const { if (Index == 1) return mytransition1; else if (Index == 2) return mytransition2; else Standard_Failure::Raise("TopOpeBRep_Point2d::Transition"); return mytransition1; } //======================================================================= //function : ChangeTransition //purpose : //======================================================================= TopOpeBRepDS_Transition& TopOpeBRep_Point2d::ChangeTransition(const Standard_Integer Index) { if (Index == 1) return mytransition1; else if (Index == 2) return mytransition2; else Standard_Failure::Raise("TopOpeBRep_Point2d::ChangeTransition"); return mytransition1; } //======================================================================= //function : Dump //purpose : //======================================================================= #ifdef DEB void TopOpeBRep_Point2d::Dump(const Standard_Integer E1index,const Standard_Integer E2index) const { Standard_Real par1 = Parameter(1); Standard_Real par2 = Parameter(2); Standard_Integer index = Index(); Standard_Boolean keep = Keep(); Standard_Integer sts = Status(); Standard_Boolean pos = IsPointOfSegment(); const TopOpeBRepDS_Transition& T1 = Transition(1); const TopOpeBRepDS_Transition& T2 = Transition(2); Standard_Boolean isvertex1 = IsVertex(1); TopoDS_Vertex V1; if (isvertex1) V1 = Vertex(1); Standard_Boolean isvertex2 = IsVertex(2); TopoDS_Vertex V2; if (isvertex2) V2 = Vertex(2); Standard_Integer ia1,ia2; SegmentAncestors(ia1,ia2); cout<