Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New python interface with documentation #34

Merged
merged 22 commits into from
Oct 21, 2021
Merged

New python interface with documentation #34

merged 22 commits into from
Oct 21, 2021

Conversation

MatteoRagni
Copy link
Contributor

New version of the python interface with documentation for almost all methods.

Notable changes:

  • numSegment is now numSegments
  • copy is more pythonic and returns a copy of the current object
  • len and getitem methods for lists
  • new ClothoidList.push_back(cl: ClothoidList)
  • new G2lib.version attribute
  • CircleArc.radius (maps to CircleArc::ray). Removed CircleArc.ray
  • findST1 has a different return value (first value is index of segment)
  • new methods ClothoidsList: build_raw, load, save

Modification to interface:

 - new methods `intersect`, `intersect_ISO`, `intersect_SAE`, `closestPoint`, `findST`
 - different return value in `closestPoint_ISO`, `closestPoint_SAE`, `findST_ISO`,`findST_SAE`
- documentation for all methods in base curve class
 - removed functions wrapped now in base curve
 - added documentation to all methods of biarc
 - getC0 becomes c0
 - getC1 becomes c1
The copy method is now more pythonic, and returns a copy instead of copying from another object on self
Revision of BiarcList wrappers

 - removed new abstract methods included in BaseCurve
 - get methods as an alias: __getitem__
 - numSegment is now numSegments
 - findST1 has a different return value
 - documentation for all the methods
 - copy is now pythonic (returns the copy instead of applying on current object)
refreshed wrapper for CircleArc class 

 - added build method
 - copy method is more pythonic, and returns a copy instead of copying another target on the self instance
 - docs for all methods
 - ray renamed radius
 - removed abstract BaseClass methods
Full remake of the LineSegment and PolyLine interfaces 

 - copy methods is more pythonic, returning a copy instead of copying onto current instance
 - added __getitem__ to polyline
 - documentation for all methods
Full remake of the interface for clothoids and clothoids list
 
 - added documentation to all methods
 - clothoidslist: new __getitem__, __len__, build_raw, push_back(ClothoidList), save and load methods
 - clothoidslist: numSegment is renamed numSegments
This commit introduces several improvements to classes:

 * G2libHeaders has a declaration for undef min/max on windows
 * BaseCurve: methods theta, kappa, X, Y, X_ISO, Y_ISO, tx, ty, theta_D, theta_DD, theta_DDD, evaluate, eval, evaluate_ISO, eval_ISO, eval_D, eval_DD, eval_DDD, closestPoint, findST have been expanded with vectorial interfaces
 * BiarcList: findST1 vectorial interface
 * CircleArc: empty constructor
 * ClothoidList: new method wrap_in_range, closest_segment, closestPointInRange (scalar and vectorial), closestPointInRange_ISO, closestPointInRange_SAE, closestPointInSRange (scalar and vectorial), closestPointInSRange_ISO, closestPointInSRange_SAE and vectorial findST1 introduced
 * LineSegment: empty constructor
 * PolyLine: new __len__ method

In tests, usage reflects update in interface. New test, disabled test case 6 for which there is nofile available for testing.
@ebertolazzi ebertolazzi merged commit 1ce95b9 into ebertolazzi:develop Oct 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants