"Professional CMake" book suggest the following:
"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."
Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
- Moved all common code for part design features view providers to a base
class.
- Move shared code for Sketch based features to newly created
ViewProviderSketchBased class
- Add ViewProviderSketchBased to initialization
- Make Pad and Pocket ViewProviders to use the shared code
- Minor fixes to TaskFeatureParameters and some derived classes
created Partdesign_Hole, Tree_PartDesign_Pad, and
Tree_PartDesign_Revolution SVG icons
Referenced the above in the PartDesign.qrc file
Modified the ViewProviders to display the Tree_icons
for Chamfer, Fillet, Draft, Groove, Hole, LinearPattern,
Mirrored, MultiTransform, PolarTransform, Revolution,
Scaled, Pad and Pocket.
PartDesign_Hole has not been implemented yet however
the ViewProvider has been, so I added the icon