// Created on: 1999-04-06 // Created by: Fabrice SERVANT // Copyright (c) 1999-1999 Matra Datavision // Copyright (c) 1999-2014 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. // modified by Edward AGAPOV (eap) Thu Feb 14 2002 (occ139) // Add Prepend(), replace array with sequence #include #include #include //======================================================================= //function : IntPolyh_SectionLine //purpose : //======================================================================= IntPolyh_SectionLine::IntPolyh_SectionLine() /*: n(0),nbstartpoints(0),ptr(0)*/ { } //======================================================================= //function : IntPolyh_SectionLine //purpose : //======================================================================= IntPolyh_SectionLine::IntPolyh_SectionLine(const Standard_Integer N)/* : nbstartpoints(0)*/{ Init(N); } //======================================================================= //function : Init //purpose : //======================================================================= void IntPolyh_SectionLine::Init(const Standard_Integer /*N*/) { // ptr = (void*) (new IntPolyh_StartPoint [N]); // n=N; if (!mySeqOfSPoints.Length()) IncrementNbStartPoints(); } //======================================================================= //function : GetN //purpose : //======================================================================= Standard_Integer IntPolyh_SectionLine::GetN() const { //return(n); return mySeqOfSPoints.Length(); } //======================================================================= //function : NbStartPoints //purpose : //======================================================================= Standard_Integer IntPolyh_SectionLine::NbStartPoints() const { // return(nbstartpoints); return mySeqOfSPoints.Length() - 1; } //======================================================================= //function : IncrementNbStartPoints //purpose : //======================================================================= void IntPolyh_SectionLine::IncrementNbStartPoints() { // nbstartpoints++; IntPolyh_StartPoint aSP; mySeqOfSPoints.Append(aSP); } //======================================================================= //function : Value //purpose : //======================================================================= // # ifdef DEB // #define BORNES1 // # endif const IntPolyh_StartPoint& IntPolyh_SectionLine::Value(const Standard_Integer Index) const { // IntPolyh_StartPoint *ptrstpoint = (IntPolyh_StartPoint *)ptr; // #if BORNES // if(Index<0 || Index>=n) { // cerr<<" Erreur1 "<=n) { // cerr<<" Erreur1 "< %d",/*nbstartpoints*/NbStartPoints()-1); for(Standard_Integer i=0;i