// File generated by CPPExt (Value)
//
//                     Copyright (C) 1991 - 2000 by  
//                      Matra Datavision SA.  All rights reserved.
//  
//                     Copyright (C) 2001 - 2004 by
//                     Open CASCADE SA.  All rights reserved.
// 
// This file is part of the Open CASCADE Technology software.
//
// This software may be distributed and/or modified under the terms and
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
// and appearing in the file LICENSE included in the packaging of this file.
//  
// This software is distributed on an "AS IS" basis, without warranty of any
// kind, and Open CASCADE SA hereby disclaims all such warranties,
// including without limitation, any warranties of merchantability, fitness
// for a particular purpose or non-infringement. Please see the License for
// the specific terms and conditions governing rights and limitations under the
// License.

#ifndef _Vrml_HeaderFile
#define _Vrml_HeaderFile

#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
class Vrml_SFImage;
class Vrml_SFRotation;
class Vrml_AsciiText;
class Vrml_Cone;
class Vrml_Cube;
class Vrml_Cylinder;
class Vrml_IndexedFaceSet;
class Vrml_IndexedLineSet;
class Vrml_PointSet;
class Vrml_Sphere;
class Vrml_Coordinate3;
class Vrml_FontStyle;
class Vrml_Info;
class Vrml_LOD;
class Vrml_Material;
class Vrml_MaterialBinding;
class Vrml_Normal;
class Vrml_NormalBinding;
class Vrml_Texture2;
class Vrml_Texture2Transform;
class Vrml_TextureCoordinate2;
class Vrml_ShapeHints;
class Vrml_MatrixTransform;
class Vrml_Rotation;
class Vrml_Scale;
class Vrml_Transform;
class Vrml_Translation;
class Vrml_OrthographicCamera;
class Vrml_PerspectiveCamera;
class Vrml_DirectionalLight;
class Vrml_PointLight;
class Vrml_SpotLight;
class Vrml_Group;
class Vrml_Separator;
class Vrml_Switch;
class Vrml_TransformSeparator;
class Vrml_WWWAnchor;
class Vrml_WWWInline;
class Vrml_Instancing;


#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

//! Vrml package  implements the specification  of the <br>
//!          VRML ( Virtual  Reality Modeling Language ).  VRML <br>
//!          is a standard  language for describing interactive <br>
//!          3-D objects and  worlds delivered across Internet. <br>
//!          Actual version of Vrml package have made for objects <br>
//!          of VRML version 1.0. <br>
//!          This package is used by VrmlConverter package. <br>
//!          The developer should  already be familiar with VRML <br>
//!          specification before using this package. <br>
class Vrml  {

public:

    void* operator new(size_t,void* anAddress) 
      {
        return anAddress;
      }
    void* operator new(size_t size) 
      { 
        return Standard::Allocate(size); 
      }
    void  operator delete(void *anAddress) 
      { 
        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
      }
 // Methods PUBLIC
 // 

//! Writes one line of commentary in  anOStream (VRML file). <br>
Standard_EXPORT static  Standard_OStream& VrmlHeaderWriter(Standard_OStream& anOStream) ;


Standard_EXPORT static  Standard_OStream& CommentWriter(const Standard_CString aComment,Standard_OStream& anOStream) ;





protected:

 // Methods PROTECTED
 // 


 // Fields PROTECTED
 //


private: 

 // Methods PRIVATE
 // 


 // Fields PRIVATE
 //

friend class Vrml_SFImage;
friend class Vrml_SFRotation;
friend class Vrml_AsciiText;
friend class Vrml_Cone;
friend class Vrml_Cube;
friend class Vrml_Cylinder;
friend class Vrml_IndexedFaceSet;
friend class Vrml_IndexedLineSet;
friend class Vrml_PointSet;
friend class Vrml_Sphere;
friend class Vrml_Coordinate3;
friend class Vrml_FontStyle;
friend class Vrml_Info;
friend class Vrml_LOD;
friend class Vrml_Material;
friend class Vrml_MaterialBinding;
friend class Vrml_Normal;
friend class Vrml_NormalBinding;
friend class Vrml_Texture2;
friend class Vrml_Texture2Transform;
friend class Vrml_TextureCoordinate2;
friend class Vrml_ShapeHints;
friend class Vrml_MatrixTransform;
friend class Vrml_Rotation;
friend class Vrml_Scale;
friend class Vrml_Transform;
friend class Vrml_Translation;
friend class Vrml_OrthographicCamera;
friend class Vrml_PerspectiveCamera;
friend class Vrml_DirectionalLight;
friend class Vrml_PointLight;
friend class Vrml_SpotLight;
friend class Vrml_Group;
friend class Vrml_Separator;
friend class Vrml_Switch;
friend class Vrml_TransformSeparator;
friend class Vrml_WWWAnchor;
friend class Vrml_WWWInline;
friend class Vrml_Instancing;

};





// other Inline functions and methods (like "C++: function call" methods)
//


#endif
