1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-21 10:55:33 +03:00

0031124: Configuration - linker errors when building with CLang on Windows

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.
This commit is contained in:
abv 2019-11-02 11:10:47 +03:00
parent 1bd04b5a02
commit b31fbc832d
21 changed files with 136 additions and 200 deletions

View 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

View File

@ -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;
}

View 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

View File

@ -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;
}

View 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

View 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:

View 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.

View 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; }

View 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; }

View 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:

View File

@ -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:

View 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:

View 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:

View 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

View File

@ -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;

View 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

View 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:

View 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

View File

@ -37,9 +37,9 @@ public:
public:
SelectBasics_SelectingVolumeManager() {};
SelectBasics_SelectingVolumeManager() {}
virtual ~SelectBasics_SelectingVolumeManager() {};
virtual ~SelectBasics_SelectingVolumeManager() {}
virtual Standard_Integer GetActiveSelectionType() const = 0;

View 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.

View 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);