Coder Social home page Coder Social logo

Standard_Boolean should be "bool" about oce HOT 30 CLOSED

tpaviot avatar tpaviot commented on July 28, 2024
Standard_Boolean should be "bool"

from oce.

Comments (30)

tpaviot avatar tpaviot commented on July 28, 2024

Does it break anything to the API? I guess that all changes will be 'internal' changes, no?

from oce.

QbProg avatar QbProg commented on July 28, 2024

I think it will break everything in the api, since now
Standard_Boolean is unsigned int and it would become bool
(bool has more varying size in the supported platforms, depending on
the context it is used).
Also it could possibly break serialization code, both to binary, text
and xml archives.

But it does't really make sense to have a Standard_Boolean that is an
int, and which can be easily misused without warnings.

Qb

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

I pushed branch tp/Standard_Boolean-to-bool to experiment this change.

from oce.

QbProg avatar QbProg commented on July 28, 2024

It buils on windows, I pushed some commits and I have some notes:

  • Can we share this branch? (hahah while I was writing you rebased it :)
  • In MSVC warning level 4, I get a big quantity of warnings. I've
    already spotted a there that was hidden by the unsigned int type.
    There may be other here and there.
    There's also a lot of misusing of Standard_Boolean instead of unsigned
    int. Anyway MSVC warns on each of these misuses, in both ways, so it
    should be
    straightforward to fix them.
  • I still have doubts about serialization, which is absolutely
    something not to break.
    Unfortunately I see that there are some sizeof(Standard_Boolean) in
    the serialization code, which will break the binary file format (also
    when ported to non standard archs).
    Anyway I don't know if here and there in the STEP/IGES/CAF etc... any
    code uses that sizeof in a more implicit way... (inside structs, using
    SizeOf () , etc...)

Qb

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

1st point: I can rename this branch shr/Standard_Boolean-to-bool in order to be more clear. OF course you can commit to this branch, however I don't know how to get notified when a commit is pushed (that would be very useful)

2nd point: I don't have as many warnings as you get. Strange. MSVC Level 4 seems more verbose than gcc -Wall. Anyway, good point that you found out this bug in Extrema_CurveTool!

3rd point: I agree this is a major drawback of the change form Standard_Boolean to bool. I have two suggestions about the serialization:

  • we have to write serialization unittests (BREP, STL, STEP, IGES) in order to check regressions
  • it's possible however to ensure a backward compliancy by casting Standard_Boolean to unsigned int in serialization functions. It would not be very elegant, but it would do the job.

from oce.

QbProg avatar QbProg commented on July 28, 2024

I agree on all :)
on the first point, when you pull you'll see that the branch has changed.
we can stay on tp/ but just if you want to rebase , publish your
intention here so all commits can be pushed before the rebase.

Qb

2011/7/27 tpaviot
[email protected]:

1st point: I can rename this branch shr/Standard_Boolean-to-bool in order to be more clear. OF course you can commit to this branch, however I don't know how to get notified when a commit is pushed (that would be very useful)

2nd point: I don't have as many warnings as you get. Strange. MSVC Level 4 seems more verbose than gcc -Wall. Anyway, good point that you found out this bug in Extrema_CurveTool!

3rd point: I agree this is a major drawback of the change form Standard_Boolean to bool. I have two suggestions about the serialization:

  • we have to write serialization unittests (BREP, STL, STEP, IGES) in order to check regressions
  • it's possible however to ensure a backward compliancy by casting Standard_Boolean to unsigned int in serialization functions. It would not be very elegant, but it would do the job.

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

I'm quite sure that STEP/IGES/STL import/export behavior are not affected by this branch: they are neutral format independant from any implementation. It's different fro BREP and OCAF serialization, which are OCCT specific. grepping 'sizeof(Standrad_Boolean)', it get the following output:

$ grep 'sizeof(Standard_Boolean)' -r . *
./FSD/FSD_BinaryFile.cxx:  if (!fwrite(&aValue,sizeof(Standard_Boolean),1,myStream)) Storage_StreamWriteError::Raise();
./FSD/FSD_BinaryFile.cxx:  if (!fread(&aValue,sizeof(Standard_Boolean),1,myStream))
./Standard/Standard_Boolean.cxx:    new Standard_Type("Standard_Boolean",sizeof(Standard_Boolean),0,NULL);
FSD/FSD_BinaryFile.cxx:  if (!fwrite(&aValue,sizeof(Standard_Boolean),1,myStream)) Storage_StreamWriteError::Raise();
FSD/FSD_BinaryFile.cxx:  if (!fread(&aValue,sizeof(Standard_Boolean),1,myStream))
Standard/Standard_Boolean.cxx:    new Standard_Type("Standard_Boolean",sizeof(Standard_Boolean),0,NULL);

What do this FSD_Binary file impact?

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

That's weird, I have been notified when Qb filed this request, but received no further notifications.

It seems that these functions are unused, but to be on the safe side, we can change {Get,Put}Boolean methods to read/write a Standard_Integer and convert from/to Standard_Boolean.

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

+1 to merge this branch ASAP, we can fix problems in 0.5.x versions without changing API again.
As I do not know whether there is a chance, I copied Qb's bugfix into another branch which can be merged. BTW Qb, can you please post your fix to the OCC forum?

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

Good point Denis. Since 0.5.0 introduces an API break, let's include all API changes now to avoid doing it again in a short future.

Before merging, I'd like to be sure that STEP/IGES/STL import/export still work : we can't release OCE if this feature is not working. If an OCAF session can't be serialized, it's something that can be fixed in a later release.

I suggest that a set of unittests is added into the framework, related to STEP/IGES import/export. If it works with this Standard_Boolean change, let's merge this branch for release 0.5.0. Let me take care of the test branch, I will send a pull request when it's ready.

Are you ok?

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

As you want, we may also release and fix bugs as soon as we got them. This change will have an impact on reading/writing binary files only, ascii files are not concerned, so this is pretty limited IMO. Of course, I do not want to discourage you from writing unit tests, that's definitely very useful ;-)

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

I pushed a commit to explain the suggested fix in FSD_BinaryFile.cxx, but it is not tested ;-)

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Err, my commit message was stupid, I had to push --force a new commit, sorry about that.

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

indeed "is an int or an int" was a bit confusing ;-)

from oce.

QbProg avatar QbProg commented on July 28, 2024

Sorry, but I say -1 on merging this in 0.5

We have a change that impacts 90% of the code, done on the last
minute, with potential file format breakage. I really think this could
break things in a subdle way...
Also, this introduced many many warnings in MSVC, and while quickly
looking at them , it seems that Standard_Boolean was used in place of
int in some places. This will surely introduce bugs because
sizeof(bool) is platform dependent and sometimes it can be
sizeof(char), depending on the context. sizeof(unsigned int) is equal
on all the supported plaforms, isn't it?

I propose this should be merged in the next "breaking change" release.
On the meantime we can:

  • fix all the warnings,
  • fix the misusage of Standard_Boolean, and the potential bugs
  • write tests on file formats. For each supported format we must make
    sure that in can be loaded by unmodified OCE or OCCT, and vice-versa
  • test and retest many times

I don't know you, but I won't have time do this in 3 days. Counting
that the tests still don't run on win32....
I think that a similar branch should be frequently rebased, and after
a "safety" period we can merge it.

(ok on the changes you did so far)

just IMHO

Qb

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

I am not aware of any compiler warning, AFAICT they have all been fixed on Unix, but of course I did not test Windows-specific code. I am away for several days, so I will not have time to discuss this issue.

from oce.

QbProg avatar QbProg commented on July 28, 2024

The warnings are introduced in MSVC level 4 with the change. Apart a
lot of "implicit int->bool" conversion, there are unsafe operation ,
like and-ing (&) a bool and similar. Haven't had the time to check
them, but these are surely bugs.

2011/7/29 dbarbier
[email protected]:

I am not aware of any compiler warning, AFAICT they have all been fixed on Unix, but of course I did not test Windows-specific code.  I am away for several days, so I will not have time to discuss this issue.

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Can you please post just a single instance so that we can have a look?

from oce.

QbProg avatar QbProg commented on July 28, 2024

I picked just two random warnings, sorry the messages are in italian,
I'm attaching a link to MSDN.

  1. Implicit int to bool detected
    D:\oce\oce\src\OSD\OSD_DirectoryIterator.cxx(248): warning C4800:
    'Standard_Integer': imposto valore booleano 'true' o 'false' (avviso
    di prestazioni)
    http://msdn.microsoft.com/en-us/library/b6801kcy%28v=VS.100%29.aspx

this is not a bug, but for instance myFlag is defined as Integer
instead of bool. In the class it is always used as boolean. Fixing
this would require changing a class field.

  1. Standard_Boolean used instead of int
    D:\oce\oce\src\IntPatch\IntPatch_RstInt.cxx(1109): warning C4806:
    '==': operazione non affidabile: nessun valore di tipo
    'Standard_Boolean' promosso al tipo 'int' può eguagliare la costante
    data
    http://msdn.microsoft.com/en-us/library/fx3e68bw%28v=VS.90%29.aspx

in this case a standard boolean is defined instead of an integer.
Didn't analyze further, but there are other similar.
In this case the fix won't be breaking since the problematic var is local.

I can send a full log if you want, but I feed this all will require
some time to fix anyway.

Qb

2011/7/29 dbarbier
[email protected]:

Can you please post just a single instance so that we can have a look?

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

You have a point, more API changes are needed, so I agree that we should postpone this branch.

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Qb, I am unable to let GCC produce these warnings. Can you please provide a full list of C4800 warnings?

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

Qb, I rebased this branch on master. Could you please build this branch and report MSVC /W4 warnings?

from oce.

QbProg avatar QbProg commented on July 28, 2024

yes, I'll do this later!

2011/9/14 Thomas Paviot
[email protected]:

Qb, I rebased this branch on master. Could you please build this branch and report MSVC /W4 warnings?

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

QbProg avatar QbProg commented on July 28, 2024

I've first added a small commit to remove many of the repeated warnings.

Here is the resulting full build log with /W4.
Unfortunately the warnings are in italian, but it is easy to find
these in MSDN is you search "warning Cxxxx"

Qb

2011/9/14 QbProg [email protected]:

yes, I'll do this later!

2011/9/14 Thomas Paviot
[email protected]:

Qb, I rebased this branch on master. Could you please build this branch and report MSVC /W4 warnings?

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Hi Qb,

There is no build log, unfortunately attachments are not supported by the issue tracker. Maybe you can try to upload it into gist.github.com and link it from here? No idea how it works thought, I never used it.

from oce.

QbProg avatar QbProg commented on July 28, 2024

Gist didn't work :) maybe 3 MB are too much.

http://www.filesavr.com/L4G30W3SH8127YD

in future, if someone wants the file, just drop me a note

2011/9/19 Denis Barbier <
[email protected]>

Hi Qb,

There is no build log, unfortunately attachments are not supported by the
issue tracker. Maybe you can try to upload it into gist.github.com and
link it from here? No idea how it works thought, I never used it.

Reply to this email directly or view it on GitHub:
#43 (comment)

from oce.

tpaviot avatar tpaviot commented on July 28, 2024

@dbarbier I just tried to compile db/Standard_Boolean on OSX. TKFillet fails to compile:

[ 37%] Building CXX object adm/cmake/TKFillet/CMakeFiles/TKFillet.dir/__/__/__/src/FilletSurf/FilletSurf_InternalBuilder.cxx.o
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:421: error: prototype for ‘void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)’ does not match any in class ‘FilletSurf_InternalBuilder’
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:161: error: candidates are: virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:159: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:157: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:332: error:                 virtual Standard_Boolean FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&, Standard_Boolean&, Standard_Boolean&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:426: error: prototype for ‘void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, TopAbs_Orientation, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)’ does not match any in class ‘FilletSurf_InternalBuilder’
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:421: error: candidates are: void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:161: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:159: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:157: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:332: error:                 virtual Standard_Boolean FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&, Standard_Boolean&, Standard_Boolean&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:431: error: prototype for ‘void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)’ does not match any in class ‘FilletSurf_InternalBuilder’
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:426: error: candidates are: void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, TopAbs_Orientation, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:421: error:                 void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, int, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, unsigned int&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, double, double, double, double&, double&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:161: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:159: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/inc/FilletSurf_InternalBuilder.hxx:157: error:                 virtual void FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HCurve2d&, const Handle_BRepAdaptor_HSurface&, const Handle_BRepAdaptor_HCurve2d&, Standard_Boolean&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, TopAbs_Orientation, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&)
/Users/thomas/Devel/oce/src/FilletSurf/FilletSurf_InternalBuilder.cxx:332: error:                 virtual Standard_Boolean FilletSurf_InternalBuilder::PerformSurf(ChFiDS_SequenceOfSurfData&, const Handle_ChFiDS_HElSpine&, const Handle_ChFiDS_Spine&, Standard_Integer, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, const Handle_BRepAdaptor_HSurface&, const Handle_Adaptor3d_TopolTool&, Standard_Real, Standard_Real, Standard_Real, Standard_Real&, Standard_Real&, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, Standard_Boolean, const math_Vector&, Standard_Boolean&, Standard_Boolean&)
make[2]: *** [adm/cmake/TKFillet/CMakeFiles/TKFillet.dir/__/__/__/src/FilletSurf/FilletSurf_InternalBuilder.cxx.o] Error 1
make[1]: *** [adm/cmake/TKFillet/CMakeFiles/TKFillet.dir/all] Error 2
make: *** [all] Error 2
macbook-pro-de-thomas-paviot:cmake-build thomas$ 

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Right, I just pushed another round of changes; BTW this is still a work in progress, I did not try to build OCE yet.

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Current branch builds and all tests pass. This is still not finished though, components after TKFillet have not yet been checked.

from oce.

dbarbier avatar dbarbier commented on July 28, 2024

Fixed by #393

from oce.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.