0027491: GeomAdaptor_Curve Is Not Thread-Safe (Anymore?)
authorBenjamin Bihler <benjamin.bihler@compositence.de>
Wed, 1 Jun 2016 11:24:23 +0000 (13:24 +0200)
committerbugmaster <bugmaster@opencascade.com>
Thu, 2 Jun 2016 11:23:50 +0000 (14:23 +0300)
Added hint about BSpline cache and missing thread-safety to adaptor classes.

src/Adaptor2d/Adaptor2d_Curve2d.hxx
src/Adaptor3d/Adaptor3d_Curve.hxx
src/Adaptor3d/Adaptor3d_Surface.hxx
src/Geom2dAdaptor/Geom2dAdaptor_Curve.hxx
src/GeomAdaptor/GeomAdaptor_Curve.hxx
src/GeomAdaptor/GeomAdaptor_Surface.hxx

index 5d119884bd6ecdae9f2eae5b580c364660bbf1af..c845bcef7a349a576bb2e31f429d979652b8268a 100644 (file)
@@ -49,6 +49,10 @@ class Geom2d_BSplineCurve;
 //! the curve by algorithms, which use it.
 //! A derived concrete class is provided:
 //! Geom2dAdaptor_Curve for a curve from the Geom2d package.
+//!
+//! Polynomial coefficients of BSpline curves used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class Adaptor2d_Curve2d 
 {
 public:
index 8e37d2f6eab594c221b5d66354ac03d2c45069cd..647cf03d71ba376387e5ed7959363a54cf11de86 100644 (file)
@@ -51,6 +51,10 @@ class Geom_BSplineCurve;
 //! - GeomAdaptor_Curve for a curve from the Geom package
 //! - Adaptor3d_CurveOnSurface for a curve lying on
 //! a surface from the Geom package.
+//!
+//! Polynomial coefficients of BSpline curves used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class Adaptor3d_Curve 
 {
 public:
index 844588c98d2c50a8384dfbe3be08aa0f5484e533..1f5c3061eeb170f355f9e6df5b18b0295627ca86 100644 (file)
@@ -61,6 +61,10 @@ class Adaptor3d_HCurve;
 //! Warning: All the methods are virtual and implemented with a
 //! raise to allow to redefined only the methods realy
 //! used.
+//!
+//! Polynomial coefficients of BSpline surfaces used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class Adaptor3d_Surface 
 {
 public:
index 3c0b7d5eb3f284066e1c07f62c748ac610865299..1bf3d2aa6b4bd02cc0999954b25ab35e72329062 100644 (file)
@@ -51,6 +51,10 @@ class Geom2d_BSplineCurve;
 //! An interface between the services provided by any
 //! curve from the package Geom2d and those required
 //! of the curve by algorithms which use it.
+//!
+//! Polynomial coefficients of BSpline curves used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class Geom2dAdaptor_Curve  : public Adaptor2d_Curve2d
 {
 public:
index 7cf42e600a80390becff4ccdf1fce70c33d3aa8f..62f981a7e06c4786d55c5d5904e5609fd1cbc241 100644 (file)
@@ -52,6 +52,10 @@ class Geom_BSplineCurve;
 //! This class provides an interface between the services provided by any
 //! curve from the package Geom and those required of the curve by algorithms which use it.
 //! Creation of the loaded curve the curve is C1 by piece.
+//!
+//! Polynomial coefficients of BSpline curves used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class GeomAdaptor_Curve  : public Adaptor3d_Curve
 {
 public:
index b03243f17e1960a55b13ba9d5ce859a12105d5e9..bef6e8a392d32d4f31b67da0decc4ff2542bf668 100644 (file)
@@ -54,6 +54,10 @@ class Adaptor3d_HCurve;
 //! surface from the package Geom and those required
 //! of the surface by algorithms which use it.
 //! Creation of the loaded surface the surface is C1 by piece
+//!
+//! Polynomial coefficients of BSpline surfaces used for their evaluation are
+//! cached for better performance. Therefore these evaluations are not
+//! thread-safe and parallel evaluations need to be prevented.
 class GeomAdaptor_Surface  : public Adaptor3d_Surface
 {
 public: