ViewProviderMeshNode::ViewProviderMeshNode() : pcOpenEdge(0), m_bEdit(false) { ADD_PROPERTY(LineWidth,(2.0f)); LineWidth.setConstraints(&floatRange); ADD_PROPERTY(PointSize,(2.0f)); PointSize.setConstraints(&floatRange); ADD_PROPERTY(OpenEdges,(false)); pOpenColor = new SoBaseColor(); setOpenEdgeColorFrom(ShapeColor.getValue()); pOpenColor->ref(); pcLineStyle = new SoDrawStyle(); pcLineStyle->ref(); pcLineStyle->style = SoDrawStyle::LINES; pcLineStyle->lineWidth = LineWidth.getValue(); pcPointStyle = new SoDrawStyle(); pcPointStyle->ref(); pcPointStyle->style = SoDrawStyle::POINTS; pcPointStyle->pointSize = PointSize.getValue(); // read the correct shape color from the preferences Base::Reference<ParameterGrp> hGrp = Gui::WindowParameter::getDefaultParameter()->GetGroup("Mod/Mesh"); App::Color color = ShapeColor.getValue(); unsigned long current = color.getPackedValue(); unsigned long setting = hGrp->GetUnsigned("MeshColor", current); if ( current != setting ) { color.setPackedValue((uint32_t)setting); ShapeColor.setValue(color); } }