This includes `view_array`, `view_base`, `view_bezcurve`,
`view_bspline`, `view_circulararray`, `view_clone`, `view_dimension`,
`view_draft_annotation`, `view_draftlink`, `view_facebinder`,
`view_fillet`, `view_label`, `view_orthoarray`, `view_point`,
`view_polararray`, `view_rectangle`, `view_text`, `view_wire`,
`view_wpproxy`.
These are added to the `draftviewproviders` Doxygen group
so that the functions and classes contained in each module
are listed appropriately in the automatically generated
documentation.
The improvements are done to `ViewProviderDraft` which propagates
to the majority of the Draft objects by derived classes
like `ViewProviederWire`.
The initialization of the properties is moved to a method
`_set_properties`. The properties `Pattern` and `PatternSize`
are created only if they do not exist.
This allows calling `ViewProviderDraft(obj.ViewObject)`
to migrate an older object to this viewprovider
but without adding duplicated properties.
In particular, this is done to support the migration of the older
`Fillet` object.
Add DraftObject and ViewProviderDraft to serve as
the parent classes of all Draft objects
and all Draft view providers.
Inside `Draft.py` we need to import
`_DraftObject` from `draftobjects.base`;
and `_ViewProviderDraft`, `_ViewProviderDraftAlt`,
and `_ViewProviderDraftPart` from `draftviewproviders.view_base`.
.
.
.
.