mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0022651: Impossible to build OCC as static library due to using Standard_EXPORT instead of Standard_API
All library-specific macros for defining export / import properties of symbols on Windows (like Standard_API, __Draw_API, _math_API etc.) are eliminated. Common macro Standard_EXPORT is used in all places where it is necessary. New macro OCCT_STATIC_BUILD is defined for disabling Standard_EXPORT, to be used instead of HAVE_NO_DLL, though the latter is still supported as well (for compatibility). To allow building OCCT in static mode on Windows after these changes: - Files OSD_WNT_1.hxx and OSD_WNT_BREAK.hxx are removed; useful declarations are moved to OSD_WNT.hxx - In the class IVtkVTK_ShapeData, static fields ARRNAME_MESH_TYPES and ARRNAME_SUBSHAPE_IDS are converted to static inline functions - Global array ChoixRef defined in IntImp_ComputeTangence.cxx is converted to static function returning element of the array by index - Unused class Quantity_Convert is removed (it had static field accessed by inline method) - Struct Approx_Data defined in the same way in BRepApprox_Approx.hxx and GeomInt_WLApprox.hxx is made private member of these classes to avoid name clash - Some C++ files producing no object code are removed - In NCollection_EBTree.hxx and StdLPersistent_Collectio.hxx, definition of template virtual method is moved to class definition to avoid MSVC linker warnings on unused symbols
This commit is contained in:
@@ -124,7 +124,7 @@ void InitShapeMapper (vtkMapper* theMapper, vtkLookupTable* theColorTable)
|
||||
{
|
||||
theMapper->ScalarVisibilityOn();
|
||||
theMapper->SetScalarModeToUseCellFieldData();
|
||||
theMapper->SelectColorArray (IVtkVTK_ShapeData::ARRNAME_MESH_TYPES);
|
||||
theMapper->SelectColorArray (IVtkVTK_ShapeData::ARRNAME_MESH_TYPES());
|
||||
theMapper->SetColorModeToMapScalars();
|
||||
theMapper->SetScalarRange (theColorTable->GetRange());
|
||||
theMapper->SetLookupTable (theColorTable);
|
||||
|
@@ -19,16 +19,6 @@
|
||||
#include <IVtk_Types.hxx>
|
||||
#include <vtkSmartPointer.h>
|
||||
|
||||
#if defined(_WIN32) && !defined(HAVE_NO_DLL)
|
||||
#ifdef __IVtkTools_DLL
|
||||
#define IVtkTools_EXPORT __declspec( dllexport )
|
||||
#else
|
||||
#define IVtkTools_EXPORT __declspec( dllimport )
|
||||
#endif
|
||||
#else
|
||||
#define IVtkTools_EXPORT
|
||||
#endif
|
||||
|
||||
class vtkLookupTable;
|
||||
class vtkMapper;
|
||||
|
||||
|
@@ -38,7 +38,7 @@ IVtkTools_DisplayModeFilter::IVtkTools_DisplayModeFilter()
|
||||
myDoDisplaySharedVertices (false)
|
||||
{
|
||||
// Filter according to values in subshapes types array.
|
||||
myIdsArrayName = IVtkVTK_ShapeData::ARRNAME_MESH_TYPES;
|
||||
myIdsArrayName = IVtkVTK_ShapeData::ARRNAME_MESH_TYPES();
|
||||
|
||||
IVtk_IdTypeMap aTypes;
|
||||
|
||||
|
@@ -167,7 +167,7 @@ int IVtkTools_ShapeDataSource::RequestData(vtkInformation *vtkNotUsed(the
|
||||
vtkSmartPointer<vtkIdTypeArray> IVtkTools_ShapeDataSource::SubShapeIDs()
|
||||
{
|
||||
vtkSmartPointer<vtkDataArray> arr =
|
||||
GetOutput()->GetCellData()->GetArray(IVtkVTK_ShapeData::ARRNAME_SUBSHAPE_IDS);
|
||||
GetOutput()->GetCellData()->GetArray(IVtkVTK_ShapeData::ARRNAME_SUBSHAPE_IDS());
|
||||
return vtkSmartPointer<vtkIdTypeArray>(
|
||||
vtkIdTypeArray::SafeDownCast(arr.GetPointer()) );
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@ class vtkPolyData;
|
||||
|
||||
//! @class IVtkTools_ShapeDataSource.
|
||||
//! @brief VTK data source for OCC shapes polygonal data.
|
||||
class IVtkTools_EXPORT IVtkTools_ShapeDataSource : public vtkPolyDataAlgorithm
|
||||
class Standard_EXPORT IVtkTools_ShapeDataSource : public vtkPolyDataAlgorithm
|
||||
{
|
||||
public:
|
||||
|
||||
|
@@ -47,7 +47,7 @@ class IVtkTools_ShapeDataSource;
|
||||
//! It stores data of OCC shape (the OccShape instance) in vtkInformation object of vtkDataObject.
|
||||
//! Then pass it to the actors through pipelines,
|
||||
//! so selection logic can access OccShape easily given the actor instance.
|
||||
class IVtkTools_EXPORT IVtkTools_ShapeObject : public vtkDataObject
|
||||
class Standard_EXPORT IVtkTools_ShapeObject : public vtkDataObject
|
||||
{
|
||||
public:
|
||||
vtkTypeMacro (IVtkTools_ShapeObject, vtkObject)
|
||||
|
@@ -40,7 +40,7 @@ class vtkActorCollection;
|
||||
|
||||
//! @class IVtkTools_ShapePicker
|
||||
//! @brief VTK picker for OCC shapes with OCC selection algorithm.
|
||||
class IVtkTools_EXPORT IVtkTools_ShapePicker : public vtkAbstractPropPicker
|
||||
class Standard_EXPORT IVtkTools_ShapePicker : public vtkAbstractPropPicker
|
||||
{
|
||||
public:
|
||||
vtkTypeMacro(IVtkTools_ShapePicker, vtkAbstractPropPicker)
|
||||
|
@@ -38,7 +38,7 @@ vtkStandardNewMacro(IVtkTools_SubPolyDataFilter)
|
||||
//================================================================
|
||||
IVtkTools_SubPolyDataFilter::IVtkTools_SubPolyDataFilter()
|
||||
{
|
||||
myIdsArrayName = IVtkVTK_ShapeData::ARRNAME_SUBSHAPE_IDS;
|
||||
myIdsArrayName = IVtkVTK_ShapeData::ARRNAME_SUBSHAPE_IDS();
|
||||
myDoFiltering = true;
|
||||
}
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
|
||||
//! @class IVtkTools_SubPolyDataFilter
|
||||
//! @brief Cells filter according to the given set of cells ids.
|
||||
class IVtkTools_EXPORT IVtkTools_SubPolyDataFilter : public vtkPolyDataAlgorithm
|
||||
class Standard_EXPORT IVtkTools_SubPolyDataFilter : public vtkPolyDataAlgorithm
|
||||
{
|
||||
public:
|
||||
vtkTypeMacro(IVtkTools_SubPolyDataFilter,vtkPolyDataAlgorithm)
|
||||
|
Reference in New Issue
Block a user