case SMDSAbs_Node:
return SMDS_ElemIteratorPtr(new SMDS_VtkCellIterator(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
default:
- MESSAGE("ERROR : Iterator not implemented")
- ;
+ MESSAGE("ERROR : Iterator not implemented");
return SMDS_ElemIteratorPtr((SMDS_ElemIterator*) NULL);
}
}
-SMDS_ElemIteratorPtr SMDS_VtkEdge::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkEdge::nodesIteratorToUNV() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
}
-SMDS_ElemIteratorPtr SMDS_VtkEdge::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkEdge::interlacedNodesIterator() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return nodesIteratorToUNV();
}
virtual bool IsQuadratic() const;
virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
- virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+ virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+ virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
protected:
};
#endif
case 9:
aType = VTK_BIQUADRATIC_QUAD;
break;
+ case 7:
+ aType = VTK_BIQUADRATIC_TRIANGLE;
+ break;
default:
aType = VTK_POLYGON;
break;
{
case VTK_TRIANGLE:
case VTK_QUADRATIC_TRIANGLE:
+ case VTK_BIQUADRATIC_TRIANGLE:
nbEdges = 3;
break;
case VTK_QUAD:
case VTK_QUADRATIC_TRIANGLE:
case VTK_QUADRATIC_QUAD:
case VTK_BIQUADRATIC_QUAD:
+ case VTK_BIQUADRATIC_TRIANGLE:
return true;
break;
default:
switch (aVtkType)
{
case VTK_QUADRATIC_TRIANGLE:
+ case VTK_BIQUADRATIC_TRIANGLE:
rankFirstMedium = 3; // medium nodes are of rank 3,4,5
break;
case VTK_QUADRATIC_QUAD:
switch ( aVtkType ) {
case VTK_TRIANGLE:
case VTK_QUADRATIC_TRIANGLE:
- return SMDSGeom_TRIANGLE;
+ case VTK_BIQUADRATIC_TRIANGLE: return SMDSGeom_TRIANGLE;
+
case VTK_QUAD:
case VTK_QUADRATIC_QUAD:
- case VTK_BIQUADRATIC_QUAD:
- return SMDSGeom_QUADRANGLE;
- case VTK_POLYGON:
- return SMDSGeom_POLYGON;
+ case VTK_BIQUADRATIC_QUAD: return SMDSGeom_QUADRANGLE;
+
+ case VTK_POLYGON: return SMDSGeom_POLYGON;
default:;
}
return SMDSGeom_NONE;
}
}
-SMDS_ElemIteratorPtr SMDS_VtkFace::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkFace::nodesIteratorToUNV() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
}
-SMDS_ElemIteratorPtr SMDS_VtkFace::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkFace::interlacedNodesIterator() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return nodesIteratorToUNV();
}
//! change only the first node, used for temporary triangles in quadrangle to triangle adaptor
virtual int NbCornerNodes() const;
virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
- virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+ virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+ virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
protected:
};
}
}
-SMDS_ElemIteratorPtr SMDS_VtkVolume::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkVolume::nodesIteratorToUNV() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
}
-SMDS_ElemIteratorPtr SMDS_VtkVolume::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkVolume::interlacedNodesIterator() const
{
- return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+ return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
}
SMDSAbs_ElementType SMDS_VtkVolume::GetType() const
std::vector<int> GetQuantities() const;
virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
- virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+ virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+ virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
protected:
};