Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:05:32

0001 // Created on: 2006-05-25
0002 // Created by: Alexander GRIGORIEV
0003 // Copyright (c) 2006-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef VrmlData_Geometry_HeaderFile
0017 #define VrmlData_Geometry_HeaderFile
0018 
0019 #include <VrmlData_Node.hxx>
0020 #include <TopoDS_TShape.hxx>
0021 
0022 /**
0023  *  Implementation of the Geometry node.
0024  *  Contains the topological representation (TopoDS_Shell) of the VRML geometry
0025  */
0026 
0027 class VrmlData_Geometry : public VrmlData_Node
0028 {
0029  public:
0030   // ---------- PUBLIC METHODS ----------
0031 
0032   /**
0033    * Empty constructor
0034    */
0035   inline VrmlData_Geometry ()
0036     : myIsModified      (Standard_True)
0037   {}
0038 
0039   /**
0040    * Constructor
0041    */
0042   inline VrmlData_Geometry (const VrmlData_Scene& theScene,
0043                             const char            * theName)
0044     : VrmlData_Node     (theScene, theName),
0045       myIsModified      (Standard_True)
0046   {}
0047 
0048   /**
0049    * Query the shape. This method checks the flag myIsModified; if True it
0050    * should rebuild the shape presentation.
0051    */
0052   Standard_EXPORT virtual const Handle(TopoDS_TShape)&  TShape () = 0;
0053 
0054  protected:
0055   // ---------- PROTECTED METHODS ----------
0056 
0057   /**
0058    * Set the TShape.
0059    */
0060   inline void   SetTShape       (const Handle(TopoDS_TShape)& theTShape)
0061   { myTShape = theTShape; }
0062 
0063   /**
0064    * Mark modification
0065    */
0066   inline void   SetModified     ()      { myIsModified= Standard_True; }
0067 
0068 
0069  protected:
0070   // ---------- PROTECTED FIELDS ----------
0071 
0072   Handle(TopoDS_TShape)  myTShape;
0073   Standard_Boolean       myIsModified;
0074 
0075  public:
0076 // Declaration of CASCADE RTTI
0077 DEFINE_STANDARD_RTTIEXT(VrmlData_Geometry,VrmlData_Node)
0078 };
0079 
0080 // Definition of HANDLE object using Standard_DefineHandle.hxx
0081 DEFINE_STANDARD_HANDLE (VrmlData_Geometry, VrmlData_Node)
0082 
0083 
0084 #endif