Mesh: modernize type checking
This commit is contained in:
@@ -70,7 +70,7 @@ App::DocumentObjectExecReturn* HarmonizeNormals::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -94,7 +94,7 @@ App::DocumentObjectExecReturn* FlipNormals::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -118,7 +118,7 @@ App::DocumentObjectExecReturn* FixNonManifolds::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -142,7 +142,7 @@ App::DocumentObjectExecReturn* FixDuplicatedFaces::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -166,7 +166,7 @@ App::DocumentObjectExecReturn* FixDuplicatedPoints::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -190,7 +190,7 @@ App::DocumentObjectExecReturn* FixDegenerations::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -217,7 +217,7 @@ App::DocumentObjectExecReturn* FixDeformations::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -242,7 +242,7 @@ App::DocumentObjectExecReturn* FixIndices::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -270,7 +270,7 @@ App::DocumentObjectExecReturn* FillHoles::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
@@ -299,7 +299,7 @@ App::DocumentObjectExecReturn* RemoveComponents::execute()
|
||||
return new App::DocumentObjectExecReturn("No mesh linked");
|
||||
}
|
||||
App::Property* prop = link->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
Mesh::PropertyMeshKernel* kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
std::unique_ptr<MeshObject> mesh(new MeshObject);
|
||||
*mesh = kernel->getValue();
|
||||
|
||||
@@ -64,7 +64,7 @@ App::DocumentObjectExecReturn* SegmentByMesh::execute()
|
||||
App::DocumentObject* mesh = Source.getValue();
|
||||
if (mesh) {
|
||||
App::Property* prop = mesh->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
kernel = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +79,7 @@ App::DocumentObjectExecReturn* SegmentByMesh::execute()
|
||||
App::DocumentObject* tool = Tool.getValue();
|
||||
if (tool) {
|
||||
App::Property* prop = tool->getPropertyByName("Mesh");
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
toolmesh = static_cast<Mesh::PropertyMeshKernel*>(prop);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ void MeshObject::getFacesFromSubElement(const Data::Segment* element,
|
||||
std::vector<Base::Vector3d>& /*pointNormals*/,
|
||||
std::vector<Facet>& faces) const
|
||||
{
|
||||
if (element && element->getTypeId() == MeshSegment::getClassTypeId()) {
|
||||
if (element && element->is<MeshSegment>()) {
|
||||
const MeshSegment* segm = static_cast<const MeshSegment*>(element);
|
||||
if (segm->segment) {
|
||||
Base::Reference<MeshObject> submesh(
|
||||
|
||||
@@ -483,15 +483,14 @@ void CmdMeshFromGeometry::activated(int)
|
||||
std::vector<App::DocumentObject*> geo =
|
||||
Gui::Selection().getObjectsOfType(App::GeoFeature::getClassTypeId());
|
||||
for (auto it : geo) {
|
||||
if (!it->getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) {
|
||||
if (!it->isDerivedFrom<Mesh::Feature>()) {
|
||||
// exclude meshes
|
||||
std::map<std::string, App::Property*> Map;
|
||||
it->getPropertyMap(Map);
|
||||
Mesh::MeshObject mesh;
|
||||
for (const auto& jt : Map) {
|
||||
if (jt.first == "Shape"
|
||||
&& jt.second->getTypeId().isDerivedFrom(
|
||||
App::PropertyComplexGeoData::getClassTypeId())) {
|
||||
&& jt.second->isDerivedFrom<App::PropertyComplexGeoData>()) {
|
||||
std::vector<Base::Vector3d> aPoints;
|
||||
std::vector<Data::ComplexGeoData::Facet> aTopo;
|
||||
const Data::ComplexGeoData* data =
|
||||
@@ -675,7 +674,7 @@ void CmdMeshPolySegm::activated(int)
|
||||
if (it == docObj.begin()) {
|
||||
Gui::Document* doc = getActiveGuiDocument();
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
Gui::View3DInventorViewer* viewer = ((Gui::View3DInventor*)view)->getViewer();
|
||||
viewer->setEditing(true);
|
||||
viewer->startSelection(Gui::View3DInventorViewer::Clip);
|
||||
@@ -732,7 +731,7 @@ void CmdMeshAddFacet::activated(int)
|
||||
for (auto it : docObj) {
|
||||
Gui::Document* doc = Gui::Application::Instance->getDocument(it->getDocument());
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
MeshGui::MeshFaceAddition* edit =
|
||||
new MeshGui::MeshFaceAddition(static_cast<Gui::View3DInventor*>(view));
|
||||
edit->startEditing(static_cast<MeshGui::ViewProviderMesh*>(
|
||||
@@ -783,7 +782,7 @@ void CmdMeshPolyCut::activated(int)
|
||||
if (it == docObj.begin()) {
|
||||
Gui::Document* doc = getActiveGuiDocument();
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
Gui::View3DInventorViewer* viewer = ((Gui::View3DInventor*)view)->getViewer();
|
||||
viewer->setEditing(true);
|
||||
|
||||
@@ -848,7 +847,7 @@ void CmdMeshPolyTrim::activated(int)
|
||||
if (it == docObj.begin()) {
|
||||
Gui::Document* doc = getActiveGuiDocument();
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
Gui::View3DInventorViewer* viewer = ((Gui::View3DInventor*)view)->getViewer();
|
||||
viewer->setEditing(true);
|
||||
|
||||
@@ -1001,7 +1000,7 @@ void CmdMeshPolySplit::activated(int)
|
||||
if (it == docObj.begin()) {
|
||||
Gui::Document* doc = getActiveGuiDocument();
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
Gui::View3DInventorViewer* viewer = ((Gui::View3DInventor*)view)->getViewer();
|
||||
viewer->setEditing(true);
|
||||
viewer->startSelection(Gui::View3DInventorViewer::Clip);
|
||||
|
||||
@@ -258,7 +258,7 @@ void DlgEvaluateMeshImp::changeEvent(QEvent* e)
|
||||
void DlgEvaluateMeshImp::slotCreatedObject(const App::DocumentObject& Obj)
|
||||
{
|
||||
// add new mesh object to the list
|
||||
if (Obj.getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) {
|
||||
if (Obj.isDerivedFrom<Mesh::Feature>()) {
|
||||
QString label = QString::fromUtf8(Obj.Label.getValue());
|
||||
QString name = QString::fromLatin1(Obj.getNameInDocument());
|
||||
d->ui.meshNameButton->addItem(label, name);
|
||||
@@ -268,7 +268,7 @@ void DlgEvaluateMeshImp::slotCreatedObject(const App::DocumentObject& Obj)
|
||||
void DlgEvaluateMeshImp::slotDeletedObject(const App::DocumentObject& Obj)
|
||||
{
|
||||
// remove mesh objects from the list
|
||||
if (Obj.getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) {
|
||||
if (Obj.isDerivedFrom<Mesh::Feature>()) {
|
||||
int index = d->ui.meshNameButton->findData(QString::fromLatin1(Obj.getNameInDocument()));
|
||||
if (index > 0) {
|
||||
d->ui.meshNameButton->removeItem(index);
|
||||
@@ -290,16 +290,15 @@ void DlgEvaluateMeshImp::slotChangedObject(const App::DocumentObject& Obj,
|
||||
const App::Property& Prop)
|
||||
{
|
||||
// if the current mesh object was modified update everything
|
||||
if (&Obj == d->meshFeature && Prop.getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (&Obj == d->meshFeature && Prop.is<Mesh::PropertyMeshKernel>()) {
|
||||
removeViewProviders();
|
||||
cleanInformation();
|
||||
showInformation();
|
||||
d->self_intersections.clear();
|
||||
}
|
||||
else if (Obj.getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) {
|
||||
else if (Obj.isDerivedFrom<Mesh::Feature>()) {
|
||||
// if the label has changed update the entry in the list
|
||||
if (Prop.getTypeId() == App::PropertyString::getClassTypeId()
|
||||
&& strcmp(Prop.getName(), "Label") == 0) {
|
||||
if (Prop.is<App::PropertyString>() && strcmp(Prop.getName(), "Label") == 0) {
|
||||
QString label = QString::fromUtf8(Obj.Label.getValue());
|
||||
QString name = QString::fromLatin1(Obj.getNameInDocument());
|
||||
int index = d->ui.meshNameButton->findData(name);
|
||||
@@ -353,7 +352,7 @@ void DlgEvaluateMeshImp::addViewProvider(const char* name,
|
||||
if (d->view) {
|
||||
ViewProviderMeshDefects* vp =
|
||||
static_cast<ViewProviderMeshDefects*>(Base::Type::createInstanceByName(name));
|
||||
assert(vp->getTypeId().isDerivedFrom(Gui::ViewProvider::getClassTypeId()));
|
||||
assert(vp->isDerivedFrom<Gui::ViewProvider>());
|
||||
vp->attach(d->meshFeature);
|
||||
d->view->getViewer()->addViewProvider(vp);
|
||||
vp->showDefects(indices);
|
||||
|
||||
@@ -162,7 +162,7 @@ Gui::View3DInventorViewer* MeshSelection::getViewer() const
|
||||
return nullptr;
|
||||
}
|
||||
Gui::MDIView* view = doc->getActiveView();
|
||||
if (view && view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) {
|
||||
if (view && view->isDerivedFrom<Gui::View3DInventor>()) {
|
||||
Gui::View3DInventorViewer* viewer = static_cast<Gui::View3DInventor*>(view)->getViewer();
|
||||
return viewer;
|
||||
}
|
||||
@@ -561,7 +561,7 @@ void MeshSelection::pickFaceCallback(void* ud, SoEventCallback* n)
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp || !vp->getTypeId().isDerivedFrom(ViewProviderMesh::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMesh>()) {
|
||||
return;
|
||||
}
|
||||
ViewProviderMesh* mesh = static_cast<ViewProviderMesh*>(vp);
|
||||
|
||||
@@ -506,10 +506,10 @@ void ViewProviderMesh::updateData(const App::Property* prop)
|
||||
{
|
||||
Gui::ViewProviderGeometryObject::updateData(prop);
|
||||
|
||||
if (prop->getTypeId() == App::PropertyColorList::getClassTypeId()) {
|
||||
if (prop->is<App::PropertyColorList>()) {
|
||||
Coloring.setStatus(App::Property::Hidden, false);
|
||||
}
|
||||
else if (prop->getTypeId() == Mesh::PropertyMaterial::getClassTypeId()) {
|
||||
else if (prop->is<Mesh::PropertyMaterial>()) {
|
||||
Coloring.setStatus(App::Property::Hidden, false);
|
||||
}
|
||||
}
|
||||
@@ -1708,7 +1708,7 @@ void ViewProviderMesh::faceInfoCallback(void* ud, SoEventCallback* n)
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp || !vp->getTypeId().isDerivedFrom(ViewProviderMesh::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMesh>()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1791,7 +1791,7 @@ void ViewProviderMesh::fillHoleCallback(void* ud, SoEventCallback* n)
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp || !vp->getTypeId().isDerivedFrom(ViewProviderMesh::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMesh>()) {
|
||||
return;
|
||||
}
|
||||
ViewProviderMesh* that = static_cast<ViewProviderMesh*>(vp);
|
||||
@@ -1868,7 +1868,7 @@ void ViewProviderMesh::markPartCallback(void* ud, SoEventCallback* n)
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp || !vp->getTypeId().isDerivedFrom(ViewProviderMesh::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMesh>()) {
|
||||
return;
|
||||
}
|
||||
ViewProviderMesh* that = static_cast<ViewProviderMesh*>(vp);
|
||||
@@ -2501,7 +2501,7 @@ void ViewProviderIndexedFaceSet::attach(App::DocumentObject* pcFeat)
|
||||
void ViewProviderIndexedFaceSet::updateData(const App::Property* prop)
|
||||
{
|
||||
ViewProviderMesh::updateData(prop);
|
||||
if (prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
ViewProviderMeshBuilder builder;
|
||||
builder.createMesh(prop, pcMeshCoord, pcMeshFaces);
|
||||
showOpenEdges(OpenEdges.getValue());
|
||||
@@ -2592,7 +2592,7 @@ void ViewProviderMeshObject::attach(App::DocumentObject* pcFeat)
|
||||
void ViewProviderMeshObject::updateData(const App::Property* prop)
|
||||
{
|
||||
ViewProviderMesh::updateData(prop);
|
||||
if (prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
const Mesh::PropertyMeshKernel* mesh = static_cast<const Mesh::PropertyMeshKernel*>(prop);
|
||||
this->pcMeshNode->mesh.setValue(
|
||||
Base::Reference<const Mesh::MeshObject>(mesh->getValuePtr()));
|
||||
|
||||
@@ -289,7 +289,7 @@ void ViewProviderMeshCurvature::attach(App::DocumentObject* pcFeat)
|
||||
void ViewProviderMeshCurvature::updateData(const App::Property* prop)
|
||||
{
|
||||
// set to the expected size
|
||||
if (prop->getTypeId().isDerivedFrom(App::PropertyLink::getClassTypeId())) {
|
||||
if (prop->isDerivedFrom<App::PropertyLink>()) {
|
||||
Mesh::Feature* object =
|
||||
static_cast<const App::PropertyLink*>(prop)->getValue<Mesh::Feature*>();
|
||||
Gui::coinRemoveAllChildren(this->pcLinkRoot);
|
||||
@@ -309,7 +309,7 @@ void ViewProviderMeshCurvature::updateData(const App::Property* prop)
|
||||
ViewProviderMesh::updateTransform(p, pcTransform);
|
||||
}
|
||||
}
|
||||
else if (prop->getTypeId() == Mesh::PropertyCurvatureList::getClassTypeId()) {
|
||||
else if (prop->is<Mesh::PropertyCurvatureList>()) {
|
||||
const Mesh::PropertyCurvatureList* curv =
|
||||
static_cast<const Mesh::PropertyCurvatureList*>(prop);
|
||||
if (curv->getSize() < 3) { // invalid array
|
||||
@@ -545,8 +545,7 @@ void ViewProviderMeshCurvature::curvatureInfoCallback(void* ud, SoEventCallback*
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp
|
||||
|| !vp->getTypeId().isDerivedFrom(ViewProviderMeshCurvature::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMeshCurvature>()) {
|
||||
return;
|
||||
}
|
||||
ViewProviderMeshCurvature* self = static_cast<ViewProviderMeshCurvature*>(vp);
|
||||
@@ -582,7 +581,7 @@ void ViewProviderMeshCurvature::curvatureInfoCallback(void* ud, SoEventCallback*
|
||||
// By specifying the indexed mesh node 'pcFaceSet' we make sure that the picked point is
|
||||
// really from the mesh we render and not from any other geometry
|
||||
Gui::ViewProvider* vp = view->getViewProviderByPathFromTail(point->getPath());
|
||||
if (!vp || !vp->getTypeId().isDerivedFrom(ViewProviderMeshCurvature::getClassTypeId())) {
|
||||
if (!vp || !vp->isDerivedFrom<ViewProviderMeshCurvature>()) {
|
||||
return;
|
||||
}
|
||||
ViewProviderMeshCurvature* that = static_cast<ViewProviderMeshCurvature*>(vp);
|
||||
@@ -605,7 +604,7 @@ ViewProviderMeshCurvature::curvatureInfo(bool detail, int index1, int index2, in
|
||||
// get the curvature info of the three points of the picked facet
|
||||
App::Property* prop = pcObject->getPropertyByName("CurvInfo");
|
||||
std::stringstream str;
|
||||
if (prop && prop->getTypeId() == Mesh::PropertyCurvatureList::getClassTypeId()) {
|
||||
if (prop && prop->is<Mesh::PropertyCurvatureList>()) {
|
||||
Mesh::PropertyCurvatureList* curv = static_cast<Mesh::PropertyCurvatureList*>(prop);
|
||||
const Mesh::CurvatureInfo& cVal1 = (*curv)[index1];
|
||||
const Mesh::CurvatureInfo& cVal2 = (*curv)[index2];
|
||||
|
||||
@@ -100,7 +100,7 @@ void ViewProviderMeshFaceSet::attach(App::DocumentObject* pcFeat)
|
||||
void ViewProviderMeshFaceSet::updateData(const App::Property* prop)
|
||||
{
|
||||
ViewProviderMesh::updateData(prop);
|
||||
if (prop->getTypeId() == Mesh::PropertyMeshKernel::getClassTypeId()) {
|
||||
if (prop->is<Mesh::PropertyMeshKernel>()) {
|
||||
const Mesh::MeshObject* mesh =
|
||||
static_cast<const Mesh::PropertyMeshKernel*>(prop)->getValuePtr();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user