// 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. #include Vrml_ShapeHints::Vrml_ShapeHints(const Vrml_VertexOrdering aVertexOrdering, const Vrml_ShapeType aShapeType, const Vrml_FaceType aFaceType, const Standard_Real aAngle) { myVertexOrdering = aVertexOrdering; myShapeType = aShapeType; myFaceType = aFaceType; myAngle = aAngle; } void Vrml_ShapeHints::SetVertexOrdering(const Vrml_VertexOrdering aVertexOrdering) { myVertexOrdering = aVertexOrdering; } Vrml_VertexOrdering Vrml_ShapeHints::VertexOrdering() const { return myVertexOrdering; } void Vrml_ShapeHints::SetShapeType(const Vrml_ShapeType aShapeType) { myShapeType = aShapeType; } Vrml_ShapeType Vrml_ShapeHints::ShapeType() const { return myShapeType; } void Vrml_ShapeHints::SetFaceType(const Vrml_FaceType aFaceType) { myFaceType = aFaceType; } Vrml_FaceType Vrml_ShapeHints::FaceType() const { return myFaceType; } void Vrml_ShapeHints::SetAngle(const Standard_Real aAngle) { myAngle = aAngle; } Standard_Real Vrml_ShapeHints::Angle() const { return myAngle; } Standard_OStream& Vrml_ShapeHints::Print(Standard_OStream& anOStream) const { anOStream << "ShapeHints {\n"; switch ( myVertexOrdering ) { case Vrml_UNKNOWN_ORDERING: break; // anOStream << " vertexOrdering\tUNKNOWN_ORDERING"; case Vrml_CLOCKWISE: anOStream << " vertexOrdering\tCLOCKWISE\n"; break; case Vrml_COUNTERCLOCKWISE: anOStream << " vertexOrdering\tCOUNTERCLOCKWISE\n"; break; } switch ( myShapeType ) { case Vrml_UNKNOWN_SHAPE_TYPE: break; //anOStream << " shapeType\t\tUNKNOWN_SHAPE_TYPE"; case Vrml_SOLID: anOStream << " shapeType\t\tSOLID\n"; break; } switch ( myFaceType ) { case Vrml_UNKNOWN_FACE_TYPE: anOStream << " faceType\t\tUNKNOWN_FACE_TYPE\n"; break; case Vrml_CONVEX: break; //anOStream << " faceType\t\tCONVEX"; } if ( Abs(myAngle - 0.5) > 0.0001 ) { anOStream << " creaseAngle\t\t" << myAngle << "\n"; } anOStream << "}\n"; return anOStream; }