You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the lastest version constructors for intermediate abstract classes are generated. This is the case for G4BooleanSolid producing the following error:
n file included from /Users/mato/Development/Geant4.jl/gen/cpp/JlG4BooleanSolid.cxx:2:
In file included from /Users/mato/Development/Geant4.jl/gen/cpp/Wrapper.h:1:
In file included from /Users/mato/.julia/artifacts/eac17dc5e9612fcf8fb333c55469ecca63cc7fc6/include/jlcxx/jlcxx.hpp:15:
/Users/mato/.julia/artifacts/eac17dc5e9612fcf8fb333c55469ecca63cc7fc6/include/jlcxx/module.hpp:124:20: error: allocating an object of abstract class type 'G4BooleanSolid'
124 | T* cpp_obj = new T(std::forward<ArgsT>(args)...);
| ^
/Users/mato/.julia/artifacts/eac17dc5e9612fcf8fb333c55469ecca63cc7fc6/include/jlcxx/module.hpp:624:114: note: in instantiation of function template specialization 'jlcxx::create<G4BooleanSolid, true, const G4String &, G4VSolid *&, G4VSolid *&>' requested here
624 | FunctionWrapperBase &new_wrapper = bool(extraData.finalize) ? add_lambda("dummy", [](ArgsT... args) { return create<T, true>(args...); }, std::move(extraData)) : add_lambda("dummy", [](ArgsT... args) { return create<T, false>(args...); }, std::move(extraData));
| ^
/Users/mato/.julia/artifacts/eac17dc5e9612fcf8fb333c55469ecca63cc7fc6/include/jlcxx/module.hpp:1101:16: note: in instantiation of function template specialization 'jlcxx::Module::constructor<G4BooleanSolid, const G4String &, G4VSolid *, G4VSolid *, jlcxx::finalize_policy>' requested here
1101 | m_module.constructor<T, ArgsT...>(m_dt, extra...);
| ^
/Users/mato/Development/Geant4.jl/gen/cpp/JlG4BooleanSolid.cxx:33:7: note: in instantiation of function template specialization 'jlcxx::TypeWrapper<G4BooleanSolid>::constructor<const G4String &, G4VSolid *, G4VSolid *, jlcxx::finalize_policy>' requested here
33 | t.constructor<const G4String &, G4VSolid *, G4VSolid *>(/*finalize=*/jlcxx::finalize_policy::yes);
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:106:20: note: unimplemented pure virtual method 'CalculateExtent' in 'G4BooleanSolid'
106 | virtual G4bool CalculateExtent(const EAxis pAxis,
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:114:21: note: unimplemented pure virtual method 'Inside' in 'G4BooleanSolid'
114 | virtual EInside Inside(const G4ThreeVector& p) const = 0;
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:119:27: note: unimplemented pure virtual method 'SurfaceNormal' in 'G4BooleanSolid'
119 | virtual G4ThreeVector SurfaceNormal(const G4ThreeVector& p) const = 0;
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:123:22: note: unimplemented pure virtual method 'DistanceToIn' in 'G4BooleanSolid'
123 | virtual G4double DistanceToIn(const G4ThreeVector& p,
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:131:22: note: unimplemented pure virtual method 'DistanceToIn' in 'G4BooleanSolid'
131 | virtual G4double DistanceToIn(const G4ThreeVector& p) const = 0;
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:135:22: note: unimplemented pure virtual method 'DistanceToOut' in 'G4BooleanSolid'
135 | virtual G4double DistanceToOut(const G4ThreeVector& p,
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:156:22: note: unimplemented pure virtual method 'DistanceToOut' in 'G4BooleanSolid'
156 | virtual G4double DistanceToOut(const G4ThreeVector& p) const = 0;
| ^
/Users/mato/.julia/artifacts/04a1f392c53fa9913a6e32dc79e45dcf6f1dd250/include/Geant4/G4VSolid.hh:201:18: note: unimplemented pure virtual method 'DescribeYourselfTo' in 'G4BooleanSolid'
201 | virtual void DescribeYourselfTo (G4VGraphicsScene& scene) const = 0;
This was not the case with previous versions of WrapIt. The following class hierarchy can be used as a test:
With the lastest version constructors for intermediate abstract classes are generated. This is the case for
G4BooleanSolid
producing the following error:This was not the case with previous versions of WrapIt. The following class hierarchy can be used as a test:
The text was updated successfully, but these errors were encountered: