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:
parent
1bd04b5a02
commit
b31fbc832d
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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; }
|
||||
|
@ -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; }
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
@ -37,9 +37,9 @@ public:
|
||||
|
||||
public:
|
||||
|
||||
SelectBasics_SelectingVolumeManager() {};
|
||||
SelectBasics_SelectingVolumeManager() {}
|
||||
|
||||
virtual ~SelectBasics_SelectingVolumeManager() {};
|
||||
virtual ~SelectBasics_SelectingVolumeManager() {}
|
||||
|
||||
virtual Standard_Integer GetActiveSelectionType() const = 0;
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user