Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
36 lines
662 B
C++
36 lines
662 B
C++
#pragma once
|
|
|
|
#include <sstream>
|
|
#include <stdexcept>
|
|
|
|
namespace Base {
|
|
|
|
class Exception : public std::runtime_error
|
|
{
|
|
public:
|
|
using std::runtime_error::runtime_error;
|
|
|
|
void reportException() const {}
|
|
};
|
|
|
|
class RuntimeError : public Exception
|
|
{
|
|
public:
|
|
using Exception::Exception;
|
|
};
|
|
|
|
class ValueError : public Exception
|
|
{
|
|
public:
|
|
using Exception::Exception;
|
|
};
|
|
|
|
} // namespace Base
|
|
|
|
#define FC_THROWM(type, message) \
|
|
do { \
|
|
std::ostringstream freecad_naming_probe_exception_stream; \
|
|
freecad_naming_probe_exception_stream << message; \
|
|
throw type(freecad_naming_probe_exception_stream.str()); \
|
|
} while (false)
|