Commit | Line | Data |
---|---|---|
b311480e | 1 | // Created on: 1993-09-23 |
2 | // Created by: Didier PIFFAULT | |
3 | // Copyright (c) 1993-1999 Matra Datavision | |
973c2be1 | 4 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e | 5 | // |
973c2be1 | 6 | // This file is part of Open CASCADE Technology software library. |
b311480e | 7 | // |
d5f74e42 | 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 | |
973c2be1 | 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. | |
b311480e | 13 | // |
973c2be1 | 14 | // Alternatively, this file may be used under the terms of Open CASCADE |
15 | // commercial license or contractual agreement. | |
7fd59977 | 16 | |
17 | #include <BRepMesh_Vertex.ixx> | |
18 | #include <Precision.hxx> | |
19 | ||
20 | ||
21 | BRepMesh_Vertex::BRepMesh_Vertex() | |
0d88155b | 22 | : myLocation(0), myMovability(BRepMesh_Free) |
7fd59977 | 23 | {} |
24 | ||
25 | BRepMesh_Vertex::BRepMesh_Vertex(const gp_XY& UV, | |
0d88155b O |
26 | const Standard_Integer Locat3d, |
27 | const BRepMesh_DegreeOfFreedom Move) | |
28 | : myUV(UV), myLocation(Locat3d), myMovability(Move) | |
7fd59977 | 29 | {} |
30 | ||
31 | BRepMesh_Vertex::BRepMesh_Vertex(const Standard_Real U, | |
0d88155b O |
32 | const Standard_Real V, |
33 | const BRepMesh_DegreeOfFreedom Move) | |
34 | : myUV(U, V), myLocation(0), myMovability(Move) | |
7fd59977 | 35 | {} |
36 | ||
37 | void BRepMesh_Vertex::Initialize(const gp_XY& UV, | |
0d88155b O |
38 | const Standard_Integer Locat3d, |
39 | const BRepMesh_DegreeOfFreedom Move) | |
7fd59977 | 40 | { |
41 | myUV=UV; | |
42 | myLocation=Locat3d; | |
43 | myMovability=Move; | |
44 | } | |
45 | ||
0d88155b | 46 | void BRepMesh_Vertex::SetMovability(const BRepMesh_DegreeOfFreedom Move) |
7fd59977 | 47 | { |
48 | myMovability=Move; | |
49 | } | |
50 | ||
51 | //======================================================================= | |
52 | //function : HashCode IsEqual | |
53 | //purpose : Services for Map | |
54 | //======================================================================= | |
55 | Standard_Integer BRepMesh_Vertex::HashCode(const Standard_Integer Upper)const | |
56 | { | |
57 | return ::HashCode (Floor(1e5*myUV.X())*Floor(1e5*myUV.Y()), Upper); | |
58 | } | |
59 | ||
60 | Standard_Boolean BRepMesh_Vertex::IsEqual(const BRepMesh_Vertex& Other)const | |
61 | { | |
0d88155b | 62 | if (myMovability!=BRepMesh_Deleted && Other.myMovability!=BRepMesh_Deleted) |
7fd59977 | 63 | return (myUV.IsEqual(Other.myUV, Precision::PConfusion())); |
64 | return Standard_False; | |
65 | } | |
66 |