BRep_ListIteratorOfListOfCurveRepresentation
Introduction
BRep_ListIteratorOfListOfCurveRepresentation needs to iterate over the curve representation of the shape in the Open CASCADE Technology (OCCT) library. Curve representation is an object which represents how a curve is represented in a particular way (ex: a trimmed curve, a curve on a surface).
BRep_ListIteratorOfListOfCurveRepresentation is useful when we need to perform operations on the curve representations, such as extracting the underlying curve, computing the properties of curves, and curve manipulation. Using this iterator we can do that without having our own iterator.
Example
Here is an example of how to use BRep_ListIteratorOfListOfCurveRepresentation.
#include <BRep_TEdge.hxx>
#include <BRep_ListOfCurveRepresentation.hxx>
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
// edge to be explored
TopoDS_Edge theEdge;
// convert to BRep_TEdge
Handle(BRep_TEdge) tEdge = Handle(BRep_TEdge)::DownCast(theEdge.TShape());
// get curve list
const BRep_ListOfCurveRepresentation& curveList = tEdge->Curves();
// initialize curve list iterator
BRep_ListIteratorOfListOfCurveRepresentation itr(curveList);
for (; itr.More(); itr.Next())
{
// get the curve
const Handle(BRep_CurveRepresentation)& curveRep = itr.Value();
}
This is how you can explore all the curves of a given shape.
#include <BRep_TEdge.hxx>
#include <BRep_ListOfCurveRepresentation.hxx>
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
// shape to be explored
TopoDS_Shape shape;
// iterate over edges
for (TopExp_Explorer exp(shape, TopAbs_EDGE); exp.More(); exp.Next())
{
// edge to be explored
TopoDS_Edge theEdge = TopoDS::Edge(exp.Current());
// convert to BRep_TEdge
Handle(BRep_TEdge) tEdge = Handle(BRep_TEdge)::DownCast(theEdge.TShape());
// get curve list
const BRep_ListOfCurveRepresentation& curveList = tEdge->Curves();
// initialize curve list iterator
BRep_ListIteratorOfListOfCurveRepresentation itr(curveList);
for (; itr.More(); itr.Next())
{
// get the curve
const Handle(BRep_CurveRepresentation)& curveRep = itr.Value();
}
}
Tags:
Tutorial