1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
15 #include <Vrml_ShapeHints.hxx>
17 Vrml_ShapeHints::Vrml_ShapeHints(const Vrml_VertexOrdering aVertexOrdering,
18 const Vrml_ShapeType aShapeType,
19 const Vrml_FaceType aFaceType,
20 const Standard_Real aAngle)
22 myVertexOrdering = aVertexOrdering;
23 myShapeType = aShapeType;
24 myFaceType = aFaceType;
28 void Vrml_ShapeHints::SetVertexOrdering(const Vrml_VertexOrdering aVertexOrdering)
30 myVertexOrdering = aVertexOrdering;
33 Vrml_VertexOrdering Vrml_ShapeHints::VertexOrdering() const
35 return myVertexOrdering;
38 void Vrml_ShapeHints::SetShapeType(const Vrml_ShapeType aShapeType)
40 myShapeType = aShapeType;
43 Vrml_ShapeType Vrml_ShapeHints::ShapeType() const
48 void Vrml_ShapeHints::SetFaceType(const Vrml_FaceType aFaceType)
50 myFaceType = aFaceType;
53 Vrml_FaceType Vrml_ShapeHints::FaceType() const
58 void Vrml_ShapeHints::SetAngle(const Standard_Real aAngle)
63 Standard_Real Vrml_ShapeHints::Angle() const
68 Standard_OStream& Vrml_ShapeHints::Print(Standard_OStream& anOStream) const
70 anOStream << "ShapeHints {\n";
72 switch ( myVertexOrdering )
74 case Vrml_UNKNOWN_ORDERING: break; // anOStream << " vertexOrdering\tUNKNOWN_ORDERING";
75 case Vrml_CLOCKWISE: anOStream << " vertexOrdering\tCLOCKWISE\n"; break;
76 case Vrml_COUNTERCLOCKWISE: anOStream << " vertexOrdering\tCOUNTERCLOCKWISE\n"; break;
79 switch ( myShapeType )
81 case Vrml_UNKNOWN_SHAPE_TYPE: break; //anOStream << " shapeType\t\tUNKNOWN_SHAPE_TYPE";
82 case Vrml_SOLID: anOStream << " shapeType\t\tSOLID\n"; break;
87 case Vrml_UNKNOWN_FACE_TYPE: anOStream << " faceType\t\tUNKNOWN_FACE_TYPE\n"; break;
88 case Vrml_CONVEX: break; //anOStream << " faceType\t\tCONVEX";
91 if ( Abs(myAngle - 0.5) > 0.0001 )
93 anOStream << " creaseAngle\t\t" << myAngle << "\n";