+ return ::HashCode(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7,Upper);
+ }
+ //=======================================================================
+ //function : IsEqual
+ //purpose :
+ //=======================================================================
+ inline static Standard_Boolean IsEqual
+ (const gp_Pnt& point1, const gp_Pnt& point2)
+ {
+ static Standard_Real tab1[3], tab2[3];
+ point1.Coord(tab1[0],tab1[1],tab1[2]);
+ point2.Coord(tab2[0],tab2[1],tab2[2]);
+ return (memcmp(tab1,tab2,sizeof(tab1)) == 0);
+ }
+ };
+ typedef NCollection_DataMap<gp_Pnt,SMDS_MeshNode*,Hasher> TDataMapOfPntNodePtr;
+
+ const int HEADER_SIZE = 84; // 80 chars + int
+ const int SIZEOF_STL_FACET = 50;
+ const int ASCII_LINES_PER_FACET = 7;
+ const int SIZE_OF_FLOAT = 4;
+ // const int STL_MIN_FILE_SIZE = 284;
+}