0031124: Configuration - linker errors when building with CLang on Windows
authorabv <abv@opencascade.com>
Sat, 2 Nov 2019 08:10:47 +0000 (11:10 +0300)
committerabv <abv@opencascade.com>
Mon, 4 Nov 2019 11:08:18 +0000 (14:08 +0300)
Standard_EXPORT is added in declaration of virtual methods where it was missing, to allow creation of sub-classes in other DLLs.
In some classes in OpenGl package Standard_EXPORT is added for all methods to make these classes usable in other DLLs.

21 files changed:
src/AIS/AIS_FixRelation.hxx
src/AIS/AIS_FixRelation.lxx [deleted file]
src/AIS/AIS_IdenticRelation.hxx
src/AIS/AIS_IdenticRelation.lxx [deleted file]
src/AIS/FILES
src/BRepExtrema/BRepExtrema_SelfIntersection.hxx
src/BRepMesh/BRepMesh_DefaultRangeSplitter.hxx
src/Graphic3d/Graphic3d_BvhCStructureSet.hxx
src/Graphic3d/Graphic3d_BvhCStructureSetTrsfPers.hxx
src/Graphic3d/Graphic3d_MediaTextureSet.hxx
src/OpenGl/OpenGl_GraduatedTrihedron.hxx
src/OpenGl/OpenGl_LayerList.hxx
src/OpenGl/OpenGl_LineAttributes.hxx
src/OpenGl/OpenGl_SceneGeometry.hxx
src/OpenGl/OpenGl_StencilTest.hxx
src/OpenGl/OpenGl_Structure.hxx
src/OpenGl/OpenGl_StructureShadow.hxx
src/RWObj/RWObj_CafReader.hxx
src/SelectBasics/SelectBasics_SelectingVolumeManager.hxx
src/SelectMgr/SelectMgr_SelectingVolumeManager.hxx
src/SelectMgr/SelectMgr_SensitiveEntitySet.hxx

index 4ee25eb..c730e52 100644 (file)
@@ -65,7 +65,7 @@ public:
   
   //! Returns true if the Interactive Objects in the relation
   //! are movable.
-    virtual Standard_Boolean IsMovable() const Standard_OVERRIDE;
+  virtual Standard_Boolean IsMovable() const Standard_OVERRIDE { return Standard_True; }
   
   //! computes the presentation according to a point of view
   //! given by <aProjector>.
@@ -109,6 +109,4 @@ private:
 
 };
 
-#include <AIS_FixRelation.lxx>
-
 #endif // _AIS_FixRelation_HeaderFile
diff --git a/src/AIS/AIS_FixRelation.lxx b/src/AIS/AIS_FixRelation.lxx
deleted file mode 100644 (file)
index 6a61a21..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Created on: 1997-02-28
-// Created by: Jean-Pierre COMBE
-// Copyright (c) 1997-1999 Matra Datavision
-// 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.
-
-//=======================================================================
-//function : IsMovable
-//purpose  : 
-//=======================================================================
-inline Standard_Boolean AIS_FixRelation::IsMovable() const 
-{
-  return Standard_True;
-}
index 65d3bce..80dc227 100644 (file)
@@ -58,7 +58,7 @@ public:
   void ClearUsers() { myUsers.Clear(); }
 
   //! Returns true if the interactive object is movable.
-    virtual Standard_Boolean IsMovable() const Standard_OVERRIDE;
+  virtual Standard_Boolean IsMovable() const Standard_OVERRIDE { return Standard_True; }
   
   //! computes the presentation according to a point of view
   //! given by <aProjector>.
@@ -134,11 +134,4 @@ private:
 
 };
 
-
-#include <AIS_IdenticRelation.lxx>
-
-
-
-
-
 #endif // _AIS_IdenticRelation_HeaderFile
diff --git a/src/AIS/AIS_IdenticRelation.lxx b/src/AIS/AIS_IdenticRelation.lxx
deleted file mode 100644 (file)
index 8d9f171..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Created on: 1997-03-04
-// Created by: Jean-Pierre COMBE
-// Copyright (c) 1997-1999 Matra Datavision
-// 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.
-
-//=======================================================================
-//function : IsMovable
-//purpose  : 
-//=======================================================================
-inline Standard_Boolean AIS_IdenticRelation::IsMovable() const 
-{
-  return Standard_True;
-}
index 6aae413..7b21d4f 100644 (file)
@@ -69,14 +69,12 @@ AIS_ExclusionFilter.hxx
 AIS_ExclusionFilter.lxx
 AIS_FixRelation.cxx
 AIS_FixRelation.hxx
-AIS_FixRelation.lxx
 AIS_GlobalStatus.cxx
 AIS_GlobalStatus.hxx
 AIS_GraphicTool.cxx
 AIS_GraphicTool.hxx
 AIS_IdenticRelation.cxx
 AIS_IdenticRelation.hxx
-AIS_IdenticRelation.lxx
 AIS_IndexedDataMapOfOwnerPrs.hxx
 AIS_InteractiveContext.cxx
 AIS_InteractiveContext.hxx
index b1cd1d9..acdb4ad 100644 (file)
@@ -96,21 +96,21 @@ public:
 protected:
 
   //! Filter out correct adjacent mesh elements.
-  virtual BRepExtrema_ElementFilter::FilterResult PreCheckElements (const Standard_Integer theIndex1,
-                                                                    const Standard_Integer theIndex2);
+  Standard_EXPORT virtual BRepExtrema_ElementFilter::FilterResult PreCheckElements (const Standard_Integer theIndex1,
+                                                                                    const Standard_Integer theIndex2);
 
   //! Checks if the given triangles have only single common vertex.
-  BRepExtrema_ElementFilter::FilterResult isRegularSharedVertex (const BVH_Vec3d& theSharedVert,
-                                                                 const BVH_Vec3d& theTrng1Vtxs1,
-                                                                 const BVH_Vec3d& theTrng1Vtxs2,
-                                                                 const BVH_Vec3d& theTrng2Vtxs1,
-                                                                 const BVH_Vec3d& theTrng2Vtxs2);
+  Standard_EXPORT BRepExtrema_ElementFilter::FilterResult isRegularSharedVertex (const BVH_Vec3d& theSharedVert,
+                                                                                 const BVH_Vec3d& theTrng1Vtxs1,
+                                                                                 const BVH_Vec3d& theTrng1Vtxs2,
+                                                                                 const BVH_Vec3d& theTrng2Vtxs1,
+                                                                                 const BVH_Vec3d& theTrng2Vtxs2);
 
   //! Checks if the given triangles have only single common edge.
-  BRepExtrema_ElementFilter::FilterResult isRegularSharedEdge (const BVH_Vec3d& theTrng1Vtxs0,
-                                                               const BVH_Vec3d& theTrng1Vtxs1,
-                                                               const BVH_Vec3d& theTrng1Vtxs2,
-                                                               const BVH_Vec3d& theTrng2Vtxs2);
+  Standard_EXPORT BRepExtrema_ElementFilter::FilterResult isRegularSharedEdge (const BVH_Vec3d& theTrng1Vtxs0,
+                                                                               const BVH_Vec3d& theTrng1Vtxs1,
+                                                                               const BVH_Vec3d& theTrng1Vtxs2,
+                                                                               const BVH_Vec3d& theTrng2Vtxs2);
 
 private:
 
index db9229a..45f2175 100644 (file)
@@ -78,14 +78,10 @@ public:
 protected:
 
   //! Computes parametric tolerance taking length along U and V into account.
-  virtual void computeTolerance(
-    const Standard_Real theLenU,
-    const Standard_Real theLenV);
+  Standard_EXPORT virtual void computeTolerance (const Standard_Real theLenU, const Standard_Real theLenV);
 
   //! Computes parametric delta taking length along U and V and value of tolerance into account.
-  virtual void computeDelta(
-    const Standard_Real theLengthU,
-    const Standard_Real theLengthV);
+  Standard_EXPORT virtual void computeDelta (const Standard_Real theLengthU, const Standard_Real theLengthV);
 
 public:
   //! Returns face model.
index a461457..61cbcd8 100644 (file)
@@ -33,35 +33,35 @@ protected:
 public:
 
   //! Creates an empty primitive set for BVH clipping.
-  Graphic3d_BvhCStructureSet();
+  Standard_EXPORT Graphic3d_BvhCStructureSet();
 
   //! Returns total number of structures.
-  virtual Standard_Integer Size() const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
 
   //! Returns AABB of the structure.
-  virtual Graphic3d_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
+  Standard_EXPORT virtual Graphic3d_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
 
   //! Calculates center of the AABB along given axis.
-  virtual Standard_Real Center (const Standard_Integer theIdx,
-                                const Standard_Integer theAxis) const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Real Center (const Standard_Integer theIdx,
+                                                const Standard_Integer theAxis) const Standard_OVERRIDE;
 
   //! Swaps structures with the given indices.
-  virtual void Swap (const Standard_Integer theIdx1,
-                     const Standard_Integer theIdx2) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1,
+                                     const Standard_Integer theIdx2) Standard_OVERRIDE;
 
   //! Adds structure to the set.
   //! @return true if structure added, otherwise returns false (structure already in the set).
-  Standard_Boolean Add (const Graphic3d_CStructure* theStruct);
+  Standard_EXPORT Standard_Boolean Add (const Graphic3d_CStructure* theStruct);
 
   //! Removes the given structure from the set.
   //! @return true if structure removed, otherwise returns false (structure is not in the set).
-  Standard_Boolean Remove (const Graphic3d_CStructure* theStruct);
+  Standard_EXPORT Standard_Boolean Remove (const Graphic3d_CStructure* theStruct);
 
   //! Cleans the whole primitive set.
-  void Clear();
+  Standard_EXPORT void Clear();
 
   //! Returns the structure corresponding to the given ID.
-  const Graphic3d_CStructure* GetStructureById (Standard_Integer theId);
+  Standard_EXPORT const Graphic3d_CStructure* GetStructureById (Standard_Integer theId);
 
   //! Access directly a collection of structures.
   const NCollection_IndexedMap<const Graphic3d_CStructure*>& Structures() const { return myStructs; }
index a7b9919..78a12d7 100644 (file)
@@ -41,35 +41,35 @@ private:
 public:
 
   //! Creates an empty primitive set for BVH clipping.
-  Graphic3d_BvhCStructureSetTrsfPers (const Handle(Select3D_BVHBuilder3d)& theBuilder);
+  Standard_EXPORT Graphic3d_BvhCStructureSetTrsfPers (const Handle(Select3D_BVHBuilder3d)& theBuilder);
 
   //! Returns total number of structures.
-  virtual Standard_Integer Size() const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Integer Size() const Standard_OVERRIDE;
 
   //! Returns AABB of the structure.
-  virtual Graphic3d_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
+  Standard_EXPORT virtual Graphic3d_BndBox3d Box (const Standard_Integer theIdx) const Standard_OVERRIDE;
 
   //! Calculates center of the AABB along given axis.
-  virtual Standard_Real Center (const Standard_Integer theIdx,
-                                const Standard_Integer theAxis) const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_Real Center (const Standard_Integer theIdx,
+                                                const Standard_Integer theAxis) const Standard_OVERRIDE;
 
   //! Swaps structures with the given indices.
-  virtual void Swap (const Standard_Integer theIdx1,
-                     const Standard_Integer theIdx2) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1,
+                                     const Standard_Integer theIdx2) Standard_OVERRIDE;
 
   //! Adds structure to the set.
   //! @return true if structure added, otherwise returns false (structure already in the set).
-  Standard_Boolean Add (const Graphic3d_CStructure* theStruct);
+  Standard_EXPORT Standard_Boolean Add (const Graphic3d_CStructure* theStruct);
 
   //! Removes the given structure from the set.
   //! @return true if structure removed, otherwise returns false (structure is not in the set).
-  Standard_Boolean Remove (const Graphic3d_CStructure* theStruct);
+  Standard_EXPORT Standard_Boolean Remove (const Graphic3d_CStructure* theStruct);
 
   //! Cleans the whole primitive set.
-  void Clear();
+  Standard_EXPORT void Clear();
 
   //! Returns the structure corresponding to the given ID.
-  const Graphic3d_CStructure* GetStructureById (Standard_Integer theId);
+  Standard_EXPORT const Graphic3d_CStructure* GetStructureById (Standard_Integer theId);
 
   //! Access directly a collection of structures.
   const NCollection_IndexedMap<const Graphic3d_CStructure*>& Structures() const { return myStructs; }
@@ -81,12 +81,12 @@ public:
   }
 
   //! Returns BVH tree for the given world view projection (builds it if necessary).
-  const opencascade::handle<BVH_Tree<Standard_Real, 3> >& BVH (const Handle(Graphic3d_Camera)& theCamera,
-                                                               const Graphic3d_Mat4d& theProjectionMatrix,
-                                                               const Graphic3d_Mat4d& theWorldViewMatrix,
-                                                               const Standard_Integer theViewportWidth,
-                                                               const Standard_Integer theViewportHeight,
-                                                               const Graphic3d_WorldViewProjState& theWVPState);
+  Standard_EXPORT const opencascade::handle<BVH_Tree<Standard_Real, 3> >& BVH (const Handle(Graphic3d_Camera)& theCamera,
+                                                                               const Graphic3d_Mat4d& theProjectionMatrix,
+                                                                               const Graphic3d_Mat4d& theWorldViewMatrix,
+                                                                               const Standard_Integer theViewportWidth,
+                                                                               const Standard_Integer theViewportHeight,
+                                                                               const Graphic3d_WorldViewProjState& theWVPState);
 
   //! Returns builder for bottom-level BVH.
   const Handle(Select3D_BVHBuilder3d)& Builder() const { return myBuilder; }
index 5bca20b..1e21b39 100644 (file)
@@ -85,10 +85,10 @@ public:
 private:
 
   //! Lock the frame for decoding into.
-  virtual Handle(Media_Frame) LockFrame() Standard_OVERRIDE;
+  Standard_EXPORT virtual Handle(Media_Frame) LockFrame() Standard_OVERRIDE;
 
   //! Release the frame to present decoding results.
-  virtual void ReleaseFrame (const Handle(Media_Frame)& theFrame) Standard_OVERRIDE;
+  Standard_EXPORT virtual void ReleaseFrame (const Handle(Media_Frame)& theFrame) Standard_OVERRIDE;
 
 protected:
 
index b047728..9e334d8 100755 (executable)
@@ -41,25 +41,25 @@ public:
 public:
 
   //! Default constructor.
-  OpenGl_GraduatedTrihedron();
+  Standard_EXPORT OpenGl_GraduatedTrihedron();
 
   //! Destructor.
-  virtual ~OpenGl_GraduatedTrihedron();
+  Standard_EXPORT virtual ~OpenGl_GraduatedTrihedron();
 
   //! Draw the element.
-  virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
+  Standard_EXPORT virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
 
   //! Release OpenGL resources.
-  virtual void Release (OpenGl_Context* theCtx);
+  Standard_EXPORT virtual void Release (OpenGl_Context* theCtx);
 
   //! Setup configuration.
-  void SetValues (const Graphic3d_GraduatedTrihedron& theData);
+  Standard_EXPORT void SetValues (const Graphic3d_GraduatedTrihedron& theData);
 
   //! Sets up-to-date values of scene bounding box.
   //! Can be used in callback mechanism to get up-to-date values.
   //! @sa Graphic3d_GraduatedTrihedron::CubicAxesCallback
-  void SetMinMax (const OpenGl_Vec3& theMin,
-                  const OpenGl_Vec3& theMax);
+  Standard_EXPORT void SetMinMax (const OpenGl_Vec3& theMin,
+                                  const OpenGl_Vec3& theMax);
 
 private:
 
index d85d871..07c7701 100644 (file)
@@ -35,10 +35,10 @@ class OpenGl_LayerList
 public:
 
   //! Constructor
-  OpenGl_LayerList (const Standard_Integer theNbPriorities);
+  Standard_EXPORT OpenGl_LayerList (const Standard_Integer theNbPriorities);
 
   //! Destructor
-  virtual ~OpenGl_LayerList();
+  Standard_EXPORT virtual ~OpenGl_LayerList();
 
   //! Method returns the number of available priorities
   Standard_Integer NbPriorities() const { return myNbPriorities; }
@@ -50,40 +50,40 @@ public:
   Standard_Integer NbImmediateStructures() const { return myImmediateNbStructures; }
 
   //! Insert a new layer with id.
-  void InsertLayerBefore (const Graphic3d_ZLayerId theNewLayerId,
-                          const Graphic3d_ZLayerSettings& theSettings,
-                          const Graphic3d_ZLayerId theLayerAfter);
+  Standard_EXPORT void InsertLayerBefore (const Graphic3d_ZLayerId theNewLayerId,
+                                          const Graphic3d_ZLayerSettings& theSettings,
+                                          const Graphic3d_ZLayerId theLayerAfter);
 
   //! Insert a new layer with id.
-  void InsertLayerAfter (const Graphic3d_ZLayerId theNewLayerId,
-                         const Graphic3d_ZLayerSettings& theSettings,
-                         const Graphic3d_ZLayerId theLayerBefore);
+  Standard_EXPORT void InsertLayerAfter (const Graphic3d_ZLayerId theNewLayerId,
+                                         const Graphic3d_ZLayerSettings& theSettings,
+                                         const Graphic3d_ZLayerId theLayerBefore);
 
   //! Remove layer by its id.
-  void RemoveLayer (const Graphic3d_ZLayerId theLayerId);
+  Standard_EXPORT void RemoveLayer (const Graphic3d_ZLayerId theLayerId);
 
   //! Add structure to list with given priority. The structure will be inserted
   //! to specified layer. If the layer isn't found, the structure will be put
   //! to default bottom-level layer.
-  void AddStructure (const OpenGl_Structure*  theStruct,
-                     const Graphic3d_ZLayerId theLayerId,
-                     const Standard_Integer   thePriority,
-                     Standard_Boolean        isForChangePriority = Standard_False);
+  Standard_EXPORT void AddStructure (const OpenGl_Structure*  theStruct,
+                                     const Graphic3d_ZLayerId theLayerId,
+                                     const Standard_Integer   thePriority,
+                                     Standard_Boolean        isForChangePriority = Standard_False);
 
   //! Remove structure from structure list and return its previous priority
-  void RemoveStructure (const OpenGl_Structure* theStructure);
+  Standard_EXPORT void RemoveStructure (const OpenGl_Structure* theStructure);
 
   //! Change structure z layer
   //! If the new layer is not presented, the structure will be displayed
   //! in default z layer
-  void ChangeLayer (const OpenGl_Structure*  theStructure,
-                    const Graphic3d_ZLayerId theOldLayerId,
-                    const Graphic3d_ZLayerId theNewLayerId);
+  Standard_EXPORT void ChangeLayer (const OpenGl_Structure*  theStructure,
+                                    const Graphic3d_ZLayerId theOldLayerId,
+                                    const Graphic3d_ZLayerId theNewLayerId);
 
   //! Changes structure priority within its ZLayer
-  void ChangePriority (const OpenGl_Structure*  theStructure,
-                       const Graphic3d_ZLayerId theLayerId,
-                       const Standard_Integer   theNewPriority);
+  Standard_EXPORT void ChangePriority (const OpenGl_Structure*  theStructure,
+                                       const Graphic3d_ZLayerId theLayerId,
+                                       const Standard_Integer   theNewPriority);
 
   //! Returns reference to the layer with given ID.
   OpenGl_Layer& Layer (const Graphic3d_ZLayerId theLayerId) { return *myLayerIds.Find (theLayerId); }
@@ -92,19 +92,19 @@ public:
   const OpenGl_Layer& Layer (const Graphic3d_ZLayerId theLayerId) const { return *myLayerIds.Find (theLayerId); }
 
   //! Assign new settings to the layer.
-  void SetLayerSettings (const Graphic3d_ZLayerId        theLayerId,
-                         const Graphic3d_ZLayerSettings& theSettings);
+  Standard_EXPORT void SetLayerSettings (const Graphic3d_ZLayerId        theLayerId,
+                                         const Graphic3d_ZLayerSettings& theSettings);
 
   //! Update culling state - should be called before rendering.
-  void UpdateCulling (const Handle(OpenGl_Workspace)& theWorkspace,
-                      const Standard_Boolean theToDrawImmediate);
+  Standard_EXPORT void UpdateCulling (const Handle(OpenGl_Workspace)& theWorkspace,
+                                      const Standard_Boolean theToDrawImmediate);
 
   //! Render this element
-  void Render (const Handle(OpenGl_Workspace)& theWorkspace,
-               const Standard_Boolean          theToDrawImmediate,
-               const OpenGl_LayerFilter        theLayersToProcess,
-               OpenGl_FrameBuffer*             theReadDrawFbo,
-               OpenGl_FrameBuffer*             theOitAccumFbo) const;
+  Standard_EXPORT void Render (const Handle(OpenGl_Workspace)& theWorkspace,
+                               const Standard_Boolean          theToDrawImmediate,
+                               const OpenGl_LayerFilter        theLayersToProcess,
+                               OpenGl_FrameBuffer*             theReadDrawFbo,
+                               OpenGl_FrameBuffer*             theOitAccumFbo) const;
 
   //! Returns the set of OpenGL Z-layers.
   const NCollection_List<Handle(Graphic3d_Layer)>& Layers() const { return myLayers; }
@@ -114,7 +114,7 @@ public:
 
   //! Marks BVH tree for given priority list as dirty and
   //! marks primitive set for rebuild.
-  void InvalidateBVHData (const Graphic3d_ZLayerId theLayerId);
+  Standard_EXPORT void InvalidateBVHData (const Graphic3d_ZLayerId theLayerId);
 
   //! Returns structure modification state (for ray-tracing).
   Standard_Size ModificationStateOfRaytracable() const { return myModifStateOfRaytraceable; }
@@ -123,7 +123,7 @@ public:
   const Handle(Select3D_BVHBuilder3d)& FrustumCullingBVHBuilder() const { return myBVHBuilder; }
 
   //! Assigns BVH tree builder for frustom culling.
-  void SetFrustumCullingBVHBuilder (const Handle(Select3D_BVHBuilder3d)& theBuilder);
+  Standard_EXPORT void SetFrustumCullingBVHBuilder (const Handle(Select3D_BVHBuilder3d)& theBuilder);
 
 protected:
 
@@ -184,16 +184,16 @@ protected:
   //! @param theGlobalSettings [in] the set of global settings used for rendering.
   //! @param theReadDrawFbo [in] the framebuffer for reading depth and writing final color.
   //! @param theOitAccumFbo [in] the framebuffer for accumulating color and coverage for OIT process.
-  void renderTransparent (const Handle(OpenGl_Workspace)&   theWorkspace,
-                          OpenGl_LayerStack::iterator&      theLayerIter,
-                          const OpenGl_GlobalLayerSettings& theGlobalSettings,
-                          OpenGl_FrameBuffer*               theReadDrawFbo,
-                          OpenGl_FrameBuffer*               theOitAccumFbo) const;
+  Standard_EXPORT void renderTransparent (const Handle(OpenGl_Workspace)&   theWorkspace,
+                                          OpenGl_LayerStack::iterator&      theLayerIter,
+                                          const OpenGl_GlobalLayerSettings& theGlobalSettings,
+                                          OpenGl_FrameBuffer*               theReadDrawFbo,
+                                          OpenGl_FrameBuffer*               theOitAccumFbo) const;
 
   // Render structures within specified layer.
-  void renderLayer (const Handle(OpenGl_Workspace)& theWorkspace,
-                    const OpenGl_GlobalLayerSettings& theDefaultSettings,
-                    const Graphic3d_Layer& theLayer) const;
+  Standard_EXPORT void renderLayer (const Handle(OpenGl_Workspace)& theWorkspace,
+                                    const OpenGl_GlobalLayerSettings& theDefaultSettings,
+                                    const Graphic3d_Layer& theLayer) const;
 
 protected:
 
index 0b579cf..926f12b 100644 (file)
@@ -48,13 +48,13 @@ public:
   //! By default the parameters are:
   //! - IsEnabled (true),
   //! - TypeOfHatch (0).
-  OpenGl_LineAttributes();
+  Standard_EXPORT OpenGl_LineAttributes();
 
   //! Default destructor.
-  virtual ~OpenGl_LineAttributes();
+  Standard_EXPORT virtual ~OpenGl_LineAttributes();
 
   //! Release GL resources.
-  virtual void Release (OpenGl_Context* theGlCtx) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Release (OpenGl_Context* theGlCtx) Standard_OVERRIDE;
 
   //! Returns estimated GPU memory usage - not implemented.
   virtual Standard_Size EstimatedDataSize() const Standard_OVERRIDE { return 0; }
@@ -63,14 +63,14 @@ public:
   int TypeOfHatch() const { return myTypeOfHatch; }
 
   //! Sets type of the hatch.
-  int SetTypeOfHatch (const OpenGl_Context*               theGlCtx,
-                      const Handle(Graphic3d_HatchStyle)& theStyle);
+  Standard_EXPORT int SetTypeOfHatch (const OpenGl_Context*               theGlCtx,
+                                      const Handle(Graphic3d_HatchStyle)& theStyle);
 
   //! Current enabled state of the hatching rasterization.
   bool IsEnabled() const { return myIsEnabled; }
 
   //! Turns on/off the hatching rasterization rasterization.
-  bool SetEnabled (const OpenGl_Context* theGlCtx, const bool theToEnable);
+  Standard_EXPORT bool SetEnabled (const OpenGl_Context* theGlCtx, const bool theToEnable);
 
 protected:
 
index f48de97..e9ab551 100644 (file)
@@ -33,13 +33,13 @@ class  OpenGl_PrimitiveArray;
 namespace OpenGl_Raytrace
 {
   //! Checks to see if the group contains ray-trace geometry.
-  Standard_Boolean IsRaytracedGroup (const OpenGl_Group* theGroup);
+  Standard_EXPORT Standard_Boolean IsRaytracedGroup (const OpenGl_Group* theGroup);
 
   //! Checks to see if the element contains ray-trace geometry.
-  Standard_Boolean IsRaytracedElement (const OpenGl_ElementNode* theNode);
+  Standard_EXPORT Standard_Boolean IsRaytracedElement (const OpenGl_ElementNode* theNode);
 
   //! Checks to see if the element contains ray-trace geometry.
-  Standard_Boolean IsRaytracedElement (const OpenGl_Element* theElement);
+  Standard_EXPORT Standard_Boolean IsRaytracedElement (const OpenGl_Element* theElement);
 }
 
 //! Stores properties of surface material.
@@ -70,7 +70,7 @@ struct OpenGl_RaytraceMaterial
 public:
 
   //! Empty constructor.
-  OpenGl_RaytraceMaterial();
+  Standard_EXPORT OpenGl_RaytraceMaterial();
 
   //! Returns packed (serialized) representation of material.
   const Standard_ShortReal* Packed()
@@ -92,8 +92,8 @@ public:
   OpenGl_RaytraceLight() { }
 
   //! Creates new light source.
-  OpenGl_RaytraceLight (const BVH_Vec4f& theEmission,
-                        const BVH_Vec4f& thePosition);
+  Standard_EXPORT OpenGl_RaytraceLight (const BVH_Vec4f& theEmission,
+                                        const BVH_Vec4f& thePosition);
 
   //! Returns packed (serialized) representation of light source.
   const Standard_ShortReal* Packed()
@@ -118,8 +118,8 @@ public:
 public:
 
   //! Creates new OpenGL element triangulation.
-  OpenGl_TriangleSet (const Standard_Size theArrayID,
-                      const opencascade::handle<BVH_Builder<Standard_ShortReal, 3> >& theBuilder);
+  Standard_EXPORT OpenGl_TriangleSet (const Standard_Size theArrayID,
+                                      const opencascade::handle<BVH_Builder<Standard_ShortReal, 3> >& theBuilder);
 
   //! Returns ID of associated primitive array.
   Standard_Size AssociatedPArrayID() const
@@ -154,10 +154,10 @@ public:
   using BVH_Triangulation<Standard_ShortReal, 3>::Box;
 
   //! Returns centroid position along the given axis.
-  virtual Standard_ShortReal Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const Standard_OVERRIDE;
+  Standard_EXPORT virtual Standard_ShortReal Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const Standard_OVERRIDE;
 
   //! Returns quad BVH (QBVH) tree produced from binary BVH.
-  const QuadBvhHandle& QuadBVH();
+  Standard_EXPORT const QuadBvhHandle& QuadBVH();
 
 public:
 
@@ -228,35 +228,35 @@ public:
   }
 
   //! Clears ray-tracing geometry.
-  virtual void Clear() Standard_OVERRIDE;
+  Standard_EXPORT virtual void Clear() Standard_OVERRIDE;
 
 public: //! @name methods related to acceleration structure
 
   //! Performs post-processing of high-level scene BVH.
-  Standard_Boolean ProcessAcceleration();
+  Standard_EXPORT Standard_Boolean ProcessAcceleration();
 
   //! Returns offset of bottom-level BVH for given leaf node.
   //! If the node index is not valid the function returns -1.
   //! @note Can be used after processing acceleration structure.
-  Standard_Integer AccelerationOffset (Standard_Integer theNodeIdx);
+  Standard_EXPORT Standard_Integer AccelerationOffset (Standard_Integer theNodeIdx);
 
   //! Returns offset of triangulation vertices for given leaf node.
   //! If the node index is not valid the function returns -1.
   //! @note Can be used after processing acceleration structure.
-  Standard_Integer VerticesOffset (Standard_Integer theNodeIdx);
+  Standard_EXPORT Standard_Integer VerticesOffset (Standard_Integer theNodeIdx);
 
   //! Returns offset of triangulation elements for given leaf node.
   //! If the node index is not valid the function returns -1.
   //! @note Can be used after processing acceleration structure.
-  Standard_Integer ElementsOffset (Standard_Integer theNodeIdx);
+  Standard_EXPORT Standard_Integer ElementsOffset (Standard_Integer theNodeIdx);
 
   //! Returns triangulation data for given leaf node.
   //! If the node index is not valid the function returns NULL.
   //! @note Can be used after processing acceleration structure.
-  OpenGl_TriangleSet* TriangleSet (Standard_Integer theNodeIdx);
+  Standard_EXPORT OpenGl_TriangleSet* TriangleSet (Standard_Integer theNodeIdx);
 
   //! Returns quad BVH (QBVH) tree produced from binary BVH.
-  const QuadBvhHandle& QuadBVH();
+  Standard_EXPORT const QuadBvhHandle& QuadBVH();
 
 public: //! @name methods related to texture management
 
@@ -267,16 +267,16 @@ public: //! @name methods related to texture management
   }
 
   //! Adds new OpenGL texture to the scene and returns its index.
-  Standard_Integer AddTexture (const Handle(OpenGl_Texture)& theTexture);
+  Standard_EXPORT Standard_Integer AddTexture (const Handle(OpenGl_Texture)& theTexture);
 
   //! Updates unique 64-bit texture handles to use in shaders.
-  Standard_Boolean UpdateTextureHandles (const Handle(OpenGl_Context)& theContext);
+  Standard_EXPORT Standard_Boolean UpdateTextureHandles (const Handle(OpenGl_Context)& theContext);
 
   //! Makes the OpenGL texture handles resident (must be called before using).
-  Standard_Boolean AcquireTextures (const Handle(OpenGl_Context)& theContext);
+  Standard_EXPORT Standard_Boolean AcquireTextures (const Handle(OpenGl_Context)& theContext);
 
   //! Makes the OpenGL texture handles non-resident (must be called after using).
-  Standard_Boolean ReleaseTextures (const Handle(OpenGl_Context)& theContext) const;
+  Standard_EXPORT Standard_Boolean ReleaseTextures (const Handle(OpenGl_Context)& theContext) const;
 
   //! Returns array of texture handles.
   const std::vector<GLuint64>& TextureHandles() const
index f540c19..5fd10e2 100755 (executable)
@@ -23,19 +23,19 @@ class OpenGl_StencilTest : public OpenGl_Element
 public:
 
   //! Default constructor
-  OpenGl_StencilTest ();
+  Standard_EXPORT OpenGl_StencilTest ();
 
   //! Render primitives to the window
-  virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
+  Standard_EXPORT virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
 
-  virtual void Release (OpenGl_Context* theContext);
+  Standard_EXPORT virtual void Release (OpenGl_Context* theContext);
 
-  void SetOptions (const Standard_Boolean theIsEnabled);
+  Standard_EXPORT void SetOptions (const Standard_Boolean theIsEnabled);
 
 protected:
 
   //! Destructor
-  virtual ~OpenGl_StencilTest();
+  Standard_EXPORT virtual ~OpenGl_StencilTest();
 
 private:
   Standard_Boolean myIsEnabled;
index 58c3a0e..d09215b 100644 (file)
@@ -100,10 +100,10 @@ public:
   Standard_EXPORT void Clear (const Handle(OpenGl_Context)& theGlCtx);
 
   //! Renders the structure.
-  virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
+  Standard_EXPORT virtual void Render  (const Handle(OpenGl_Workspace)& theWorkspace) const;
 
   //! Releases structure resources.
-  virtual void Release (const Handle(OpenGl_Context)& theGlCtx);
+  Standard_EXPORT virtual void Release (const Handle(OpenGl_Context)& theGlCtx);
 
   //! This method releases GL resources without actual elements destruction.
   //! As result structure could be correctly destroyed layer without GL context
index a325f17..e332398 100644 (file)
@@ -31,10 +31,10 @@ public:
 public:
 
   //! Raise exception on API misuse.
-  virtual void Connect (Graphic3d_CStructure& ) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Connect (Graphic3d_CStructure& ) Standard_OVERRIDE;
 
   //! Raise exception on API misuse.
-  virtual void Disconnect (Graphic3d_CStructure& ) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Disconnect (Graphic3d_CStructure& ) Standard_OVERRIDE;
 
 private:
 
index faf9664..920579b 100644 (file)
@@ -43,22 +43,21 @@ protected:
 
   //! Create reader context.
   //! Can be overridden by sub-class to read triangulation into application-specific data structures instead of Poly_Triangulation.
-  virtual Handle(RWObj_TriangulationReader) createReaderContext();
+  Standard_EXPORT virtual Handle(RWObj_TriangulationReader) createReaderContext();
 
   //! @param theShape       shape to register
   //! @param theName        shape name
   //! @param theMaterial    shape material
   //! @param theIsRootShape indicates that this is a root object (free shape)
-  virtual void BindNamedShape (const TopoDS_Shape& theShape,
-                               const TCollection_AsciiString& theName,
-                               const RWObj_Material* theMaterial,
-                               const Standard_Boolean theIsRootShape) Standard_OVERRIDE;
+  Standard_EXPORT virtual void BindNamedShape (const TopoDS_Shape& theShape,
+                                               const TCollection_AsciiString& theName,
+                                               const RWObj_Material* theMaterial,
+                                               const Standard_Boolean theIsRootShape) Standard_OVERRIDE;
 
 protected:
 
   NCollection_DataMap<TCollection_AsciiString, Handle(XCAFDoc_VisMaterial)> myObjMaterialMap;
   Standard_Boolean myIsSinglePrecision; //!< flag for reading vertex data with single or double floating point precision
-
 };
 
 #endif // _RWObj_CafReader_HeaderFile
index eb93e1c..bf9c96a 100644 (file)
@@ -37,9 +37,9 @@ public:
 
 public:
 
-  SelectBasics_SelectingVolumeManager() {};
+  SelectBasics_SelectingVolumeManager() {}
 
-  virtual ~SelectBasics_SelectingVolumeManager() {};
+  virtual ~SelectBasics_SelectingVolumeManager() {}
 
   virtual Standard_Integer GetActiveSelectionType() const = 0;
 
index d0d0ddc..b463561 100644 (file)
@@ -36,7 +36,7 @@ public:
   //! Creates instances of all available selecting volume types
   Standard_EXPORT SelectMgr_SelectingVolumeManager (Standard_Boolean theToAllocateFrustums = Standard_True);
 
-  virtual ~SelectMgr_SelectingVolumeManager() {};
+  virtual ~SelectMgr_SelectingVolumeManager() {}
 
   //! IMPORTANT: Scaling makes sense only for frustum built on a single point!
   //!            Note that this method does not perform any checks on type of the frustum.
index 3aa05a7..d65577f 100644 (file)
@@ -36,7 +36,7 @@ public:
   //! Empty constructor.
   Standard_EXPORT SelectMgr_SensitiveEntitySet (const Handle(Select3D_BVHBuilder3d)& theBuilder);
 
-  virtual ~SelectMgr_SensitiveEntitySet() {};
+  virtual ~SelectMgr_SensitiveEntitySet() {}
 
   //! Adds new entity to the set and marks BVH tree for rebuild
   Standard_EXPORT void Append (const Handle(SelectMgr_SensitiveEntity)& theEntity);