Files
FreeCADWasmDev/docs/document-contract.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

3.6 KiB

FreeCAD 1.2 Document Contract

This is a source inventory, not a claim that the full Document runtime is available in WebAssembly.

  • Schema: freecad-web-document-contract/v1
  • Source root: /home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source
  • Source revision: 4f4e9244e613ea2df06e70027074a562695048cb
Contract Source Matches SHA-256
Application src/App/Application.h 6 c74091185dc2b4f2f737aaa5eed1592e9539164673df92408e5739ddaa1dcf03
Document src/App/Document.h 13 f4d2ca30d924da9e427142c68717643392e8cbeec6838c1d0c25e5840ea9a02e
DocumentObject src/App/DocumentObject.h 9 53f3395f7e782ef877b2b947375e0026025ea5400ca44cea37ee2701e24f6707
PropertyContainer src/App/PropertyContainer.h 7 7186965cd8b46aa37b548373d0bc4763e99f0d3e933a0638717b4ca873822516
PartFeature src/Mod/Part/App/PartFeature.h 4 fd4ad70792e46e5029825d6690e3166e0db317bed7416b19d27fdcb8177ef658

Matched declarations

Application

  • L130: App::Document* newDocument(const char* proposedName = nullptr,
  • L140: bool closeDocument(const Document* doc);
  • L148: bool closeDocument(const char* name);
  • L206: App::Document* getDocument(const char *Name) const;
  • L342: bool commitTransaction(int tid);
  • L343: bool abortTransaction(int tid);

Document

  • L459: DocumentObject* addObject(const char* sType,
  • L483: T* addObject(const char* pObjectName = nullptr,
  • L532: void addObject(DocumentObject* obj, const char* name = nullptr);
  • L1483: T* Document::addObject(const char* pObjectName, bool isNew, const char* viewType, bool isPartial)
  • L1486: return static_cast<T*>(addObject(T::getClassName(), pObjectName, isNew, viewType, isPartial));
  • L586: DocumentObject* getObject(const char* Name) const;
  • L869: int openTransaction(TransactionName name, int tid = 0);
  • L870: int openTransaction(std::string name, int tid = 0);
  • L898: void commitTransaction();
  • L901: void abortTransaction() const;
  • L780: int recompute(const std::vector<DocumentObject*>& objs = {},
  • L1072: /// The position of option flags used by getDependencyList()
  • L1093: getDependencyList(const std::vector<DocumentObject*>& objs, int options = 0);

DocumentObject

  • L245: const char* getNameInDocument() const;
  • L271: std::string getFullName() const override;
  • L248: long getID() const
  • L310: bool isTouched() const;
  • L339: bool isError() const
  • L544: const std::vector<App::DocumentObject*>& getInList() const;
  • L478: const std::vector<App::DocumentObject*>& getOutList() const;
  • L489: std::vector<App::DocumentObject*> getOutList(int option) const;
  • L500: void getOutList(int option, std::vector<App::DocumentObject*>& res) const;

PropertyContainer

  • L178: void addProperty(OffsetBase offsetBase,const char* PropName, Property *Prop, const char* PropertyGroup= nullptr, PropertyType Type=Prop_None, const char* PropertyDocu=nullptr );
  • L743: propertyData.addProperty(static_cast<App::PropertyContainer*>(this), _name, &this->_prop_); \
  • L753: propertyData.addProperty(static_cast<App::PropertyContainer*>(this), _name, &this->_prop_, (_group_),(_type_),(_Docu_)); \
  • L224: Property *getPropertyByName(OffsetBase offsetBase,const char* name) const;
  • L330: virtual Property *getPropertyByName(const char* name) const;
  • L240: void getPropertyList(OffsetBase offsetBase,std::vector<Property*> &List) const;
  • L356: virtual void getPropertyList(std::vector<Property*> &List) const;

PartFeature

  • L76: PropertyPartShape Shape;
  • L159: static TopoDS_Shape getShape(
  • L167: static TopoShape getTopoShape(
  • L244: ShapeHistory buildHistory(