BHoM / BHoM/BHoM_Engine

Geometry_Engine: Update on the [NotImplemented] methods

Open
#1,780 0 comments 0 reactions 0 assignees View on GitHub
type:feature
Dominant language
C#
Stars
30
Forks
13
Avg merge
7d 10h
Merged PRs (30d)
5

Description

## Description
Looked through the Geometry_Engine in #1779 and this is a general list of methods which could be fixed more or less easily.

FYI @pawelbaran @al-fisher @epignatelli

### Simple Solution

- [ ] Create ZSectionProfile, but would probably take a while to write.

- [x] ProjectAlong, for Arc

- [ ] IsCoplanar, no reason not to use the controlpoints (also has quite identical code for ICurve and PolyCurve, should be merged)

- [ ] IsOnCurve for Ellipse,

- [ ] Think ClosestPoint(Extrusion/Pipe/PlanarSurface, Point) is quite easy (?)

### NurbsCurve

- [ ] IsLinear
- [ ] IsPolylinear
- [ ] Flip
- [x] Mirror
- [x] Project
- [x] ProjectAlong
- [ ] IsEqual

- [ ] ControlPoints

- [ ] DiscontinuityPoints for Nurbs are surely at the controlPoints where the KnotVector repeats an "degree amount"?

How hard could it be to write a BasisFunction for Nurbs? (maybe very) but it would make Nurbs far less of a drag to work with

### NurbsSurface

Given that the trim should only be modified by transforming the 3dCurve with the controlopints? @pawelbaran )

- [ ] Create.NurbsSurface, you can only create from the code atm as it's IImmutable, (but might be hard, even as quite explicit if we have to do checks?)

- [x] Scale
- [x] Transform
- [x] Translate
- [ ] IsPlanar
- [ ] IsInPlane
- [x] Mirror
- [x] Project
- [x] ProjectAlong
- [ ] IsEqual

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.