Anonymous | Login | 2021-01-16 08:39 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0025774 | Community | [OCCT] OCCT:Modeling Data | public | 2015-01-30 18:42 | 2015-01-30 19:58 | ||||||||
Reporter | spamkiller | ||||||||||||
Assigned To | msv | ||||||||||||
Priority | normal | Severity | minor | ||||||||||
Status | new | Resolution | open | ||||||||||
Platform | Windows | OS | VC++ 2013 | OS Version | 64 bit | ||||||||
Product Version | [OCCT] 6.8.0 | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0025774: GCPnts_AbscissaPoint does not work with several bezier curves | ||||||||||||
Description | I want to distribute points along a bezier curve using GCPnts_AbscissaPoint. But for some curves this does not work. If you set "offset" to "0.0", only the first point is calculated and displayed (not OK). If you set "offset" to "1.0", all points are calculated and displayed (OK). For cubic bezier curves it should be possible to set the first two poles to the same point, the same should be possible for the last two poles. | ||||||||||||
Steps To Reproduce | ---snip--- double offset = 0.0; TColgp_Array1OfPnt poles(1, 4); poles.SetValue(1, gp_Pnt(0 , 0, 500)); poles.SetValue(2, gp_Pnt(0 + offset, 0, 500)); poles.SetValue(3, gp_Pnt(50.0 - offset, 0, 500)); poles.SetValue(4, gp_Pnt(50 , 0, 500)); Handle(Geom_BezierCurve) curve = new Geom_BezierCurve(poles); TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(curve); display(edge); GeomAdaptor_Curve curveAdaptor(curve); const double u0 = curve->FirstParameter(); const double un = curve->LastParameter(); const double curveLength = GCPnts_AbscissaPoint::Length(curveAdaptor, u0, un); const double abscissaStep = 1.0; double abscissa = 0.0; double ui = u0; while (abscissa <= curveLength) { GCPnts_AbscissaPoint ap(curveAdaptor, abscissa, u0, ui); ui = ap.Parameter(); const gp_Pnt & pnt = curveAdaptor.Value(ui); display(pnt); abscissa += abscissaStep; } ---snap--- ("display" displays an entity in my view) | ||||||||||||
Additional information and documentation updates | http://www.opencascade.org/org/forum/thread_26825/?forum=3 [^] | ||||||||||||
Tags | No tags attached. | ||||||||||||
Test case number | |||||||||||||
Attached Files | |||||||||||||
![]() |
|||
Date Modified | Username | Field | Change |
2015-01-30 18:42 | spamkiller | New Issue | |
2015-01-30 18:42 | spamkiller | Assigned To | => msv |
Copyright © 2000 - 2021 MantisBT Team |