0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / IntCurvesFace / IntCurvesFace_ShapeIntersector.lxx
1 // Created on: 1998-01-28
2 // Created by: Laurent BUCHARD
3 // Copyright (c) 1998-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #include <IntCurvesFace_Intersector.hxx>
18
19
20 inline Standard_Integer IntCurvesFace_ShapeIntersector::NbPnt() const { 
21   return(IndexPt.Length());
22 }
23
24 inline  Standard_Real IntCurvesFace_ShapeIntersector::UParameter(const Standard_Integer i) const { 
25   IntCurvesFace_Intersector *Ptr =
26     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
27   return(Ptr->UParameter(IndexIntPnt(IndexPt(i))));
28 }
29
30 inline  Standard_Real IntCurvesFace_ShapeIntersector::VParameter(const Standard_Integer i) const { 
31   IntCurvesFace_Intersector *Ptr =
32     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
33   return(Ptr->VParameter(IndexIntPnt(IndexPt(i))));
34 }
35
36 inline  Standard_Real IntCurvesFace_ShapeIntersector::WParameter(const Standard_Integer i) const { 
37   IntCurvesFace_Intersector *Ptr =
38     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
39   return(Ptr->WParameter(IndexIntPnt(IndexPt(i))));
40 }
41
42 inline  const gp_Pnt& IntCurvesFace_ShapeIntersector::Pnt(const Standard_Integer i) const { 
43   IntCurvesFace_Intersector *Ptr =
44     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
45   return(Ptr->Pnt(IndexIntPnt(IndexPt(i))));
46 }
47
48 inline  IntCurveSurface_TransitionOnCurve  IntCurvesFace_ShapeIntersector::Transition(const Standard_Integer i) const { 
49   IntCurvesFace_Intersector *Ptr =
50     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
51   return(Ptr->Transition(IndexIntPnt(IndexPt(i))));
52 }
53
54 inline  TopAbs_State  IntCurvesFace_ShapeIntersector::State(const Standard_Integer i) const { 
55   IntCurvesFace_Intersector *Ptr =
56     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
57   return(Ptr->State(IndexIntPnt(IndexPt(i))));
58 }
59
60
61 inline  const TopoDS_Face&  IntCurvesFace_ShapeIntersector::Face(const Standard_Integer i) const { 
62   IntCurvesFace_Intersector *Ptr =
63     (IntCurvesFace_Intersector *)(PtrIntersector(IndexFace(IndexPt(i))));
64   return(Ptr->Face());
65 }
66
67 inline Standard_Boolean IntCurvesFace_ShapeIntersector::IsDone() const {
68   return(done);
69 }
70
71