#include <CurveCreator_Utils.hxx>
Static Public Member Functions | |
static void | ConvertPointToClick (const gp_Pnt &thePoint, Handle(V3d_View) theView, int &x, int &y) |
Returns the point clicked in 3D view. More... | |
static gp_Pnt | ConvertClickToPoint (int x, int y, Handle(V3d_View) theView) |
Returns the point clicked in 3D view. More... | |
static void | constructShape (const CurveCreator_ICurve *theCurve, TopoDS_Shape &theShape) |
Generates shape on the curve. More... | |
static bool | constructCurve (const TopoDS_Shape theShape, CurveCreator_Curve *theCurve, gp_Ax3 &theLocalCS) |
Generates a curve from a shape. More... | |
static void | getSelectedPoints (Handle(AIS_InteractiveContext) theContext, const CurveCreator_ICurve *theCurve, CurveCreator_ICurve::SectionToPointList &thePoints) |
Find selected points in the context. More... | |
static void | setSelectedPoints (Handle(AIS_InteractiveContext) theContext, const CurveCreator_ICurve *theCurve, const CurveCreator_ICurve::SectionToPointList &thePoints=CurveCreator_ICurve::SectionToPointList()) |
Set selected points to the context. More... | |
static void | setLocalPointContext (const CurveCreator_ICurve *theCurve, Handle(AIS_InteractiveContext) theContext, const bool theOpen) |
Sets the local point context for the 3D viewer. More... | |
static bool | pointOnObject (Handle(V3d_View) theView, Handle(AIS_InteractiveObject) theObject, const int theX, const int theY, gp_Pnt &thePoint, gp_Pnt &thePoint1, gp_Pnt &thePoint2) |
Checks whether the point belongs to the OCC object. More... | |
static bool | constructBSpline (const Handle(TColgp_HArray1OfPnt)&thePoints, const Standard_Boolean theIsClosed, Handle(Geom_BSplineCurve)&theBSpline) |
The algorithm builds the cubic B-spline passing through the points that the tangent vector in each given point P is calculated by the following way: if point P is preceded by a point A and is followed by a point B then the tangent vector is equal to (P - A) / |P - A| + (B - P) / |B - P|; if point P is preceded by a point A but is not followed by any point then the tangent vector is equal to P - A; if point P is followed by a point B but is not preceded by any point then the tangent vector is equal to B - P. More... | |
static TopoDS_Wire | ConstructWire (Handle(TColgp_HArray1OfPnt) thePoints, const bool theIsPolyline, const bool theIsClosed) |
Constructs the wire corresponding to the section. More... | |
Static Protected Member Functions | |
static bool | hasProjectPointOnCurve (Handle(V3d_View) theView, const int theX, const int theY, const Handle(Geom_Curve)&theCurve, Standard_Real &theParameter, int &theDelta) |
static bool | isEqualPixels (const int theX, const int theY, const int theOtherX, const int theOtherY, const double theTolerance, int &theDelta) |
static bool | isEqualPoints (const gp_Pnt &thePoint, const gp_Pnt &theOtherPoint) |
static | Handle (TColgp_HArray1OfPnt) getPoints(const TopoDS_Shape &theShape |
Returns the array of points of a shape to construct a curve section. More... | |
static void | FindPlane (const Handle(TColgp_HArray1OfPnt)&thePoints, gp_Pln &thePlane, Standard_Integer &thePlnStatus) |
This method computes a plane using the input points. More... | |
Protected Attributes | |
static bool & | IsClosed |
static bool bool & | IsBSpline |
|
static |
theShape | a shape to be converted to curve. |
theCurve | a curve object to be initialized. |
theLocalCS | the local coordinate system of the curve. |
References anIter(), FindPlane(), CurveCreator_UtilsICurve::getUniqSectionName(), Section3D::myIsBSpline, Section3D::myIsClosed, PLN_FIXED, PLN_FREE, PLN_ORIGIN, PLN_OX, CurveCreator::Polyline, and CurveCreator::Spline.
|
static |
theCurve | a curve object, that contains data |
theShape | a generated shape |
References ConstructWire(), CurveCreator_ISection::GetDifferentPoints(), CurveCreator_ICurve::getDimension(), CurveCreator_ICurve::getNbPoints(), CurveCreator_ICurve::getNbSections(), CurveCreator_ICurve::getSection(), CurveCreator_ICurve::getSectionType(), Handle(), CurveCreator_ICurve::isClosed(), and CurveCreator::Polyline.
|
static |
References aFirstVertex, aVertex2, constructBSpline(), and Handle().
|
static |
x | The X coordinate in the view. |
y | The Y coordinate in the view. |
theView | View where the given point takes place. |
gp_Pnt | Returns the point clicked in 3D view |
References LOCAL_SELECTION_TOLERANCE.
|
static |
x | The X coordinate in the view. |
y | The Y coordinate in the view. |
theView | View where the given point takes place. |
gp_Pnt | Returns the point clicked in 3D view |
|
staticprotected |
The plane is defined by gp_Pln object and the status. The status can have one of the following values:
thePoints | the points. |
thePlane | the current plane on input. It can be modified on output. |
thePlnStatus | the current status on input. It can be modified on output. |
References PLN_FIXED, PLN_FREE, PLN_ORIGIN, and PLN_OX.
|
static |
theContext | the viewer context |
theCurve | a curve object, that contains data |
References CurveCreator_UtilsICurve::findSectionsToPoints().
|
staticprotected |
The shape can be either a wire or a vertex. For vertex a single point in the array is returned.
theShape | the shape. Can be either a wire or a vertex. |
IsClosed | closed flag. Output parameter. |
IsBSpline | BSpline flag. Output parameter. |
|
staticprotected |
References ConvertClickToPoint(), ConvertPointToClick(), and SCENE_PIXEL_PROJECTION_TOLERANCE.
|
staticprotected |
|
staticprotected |
References LOCAL_SELECTION_TOLERANCE.
|
static |
theObject | a line or shape with a bspline inside |
theX | the X coordinate in the view. |
theY | the Y coordinate in the view. |
thePoint | the output point to be append to the model curve |
thePoint1 | the output point to bound the line where a new point should be inserted |
thePoint2 | the output point to bound the line where a new point should be inserted |
References anEdge, aVec1(), aVec2(), ConvertPointToClick(), Curve(), Section3D::Handle(), LOCAL_SELECTION_TOLERANCE, SCENE_PIXEL_POINT_TOLERANCE, SCENE_PIXEL_PROJECTION_TOLERANCE, and GEOM::Vertices.
|
static |
theCurve | a curve object, that contains data |
theContext | the viewer context |
theOpen | The flag to open or close the local context. |
References Section3D::Handle().
|
static |
theContext | the viewer context |
theCurve | a curve object, that contains data |
thePoints | the curve point indices to be selected in the context |
References CurveCreator_UtilsICurve::getPoint(), Section3D::Handle(), and LOCAL_SELECTION_TOLERANCE.
|
protected |
|
protected |