Code Monkey home page Code Monkey logo

tinynurbs's People

Contributors

alektron avatar georgeouzou avatar hrobeers avatar petersteneteg avatar pradeep-pyro avatar tinokruegerbasjmeleh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tinynurbs's Issues

precision issues

Hi!

I got some problems on the precision issues while using it. When I create a 2D NURBS curve, I found that the precision of the NURBS expression is limited to the single precision. For example, if I create a unit circle with radius of 1.000000000000 the starting points may be shown as (1.000000002311, 0), even though I use the datatype. I wonder if it's an internal limitation, or I didn't use it correctly.

Thanks!

Use tinynurbs in IFC.JS

Hi,

Thanks a lot for this fantastic library! We are the devs of IFC.js, an open source project to allow anyone to create BIM software. We would like to know if it would be possible for us to use this library, as the license for IFC.js is MIT.

Thanks a lot in advance.

Cheers!

How to load the library to my own project?

Hello Pardeep,

I think the code is very good and is what I need. Thanks for the effort. However, after compiling the project, only "unittests" and "ZERO_CHECK" were compiled (I didn't make any changes and only used CMake-gui to create a VS project). In particularly, I cannot find an .lib file to be added to my own project. Could you tell me how to generate the .lib file?

Regards,
Tong

Closed NURBS

Hello

Is it possible to define closed NURBS in U or V or both?

glm dependency

Dear pradeep,

I tried to build tinynurbs using cmake, but after building it, tinynurbs doesn't include the glm dependency. I tried multiple times, enabling or disabling TINYNURBS_USE_OWN_GLM but to no avail. Why does this happen and how can i resolve this problem.

Kind regards,
Abdelkader

TinyNURBS and IFC - CoordinateSystems

I’ve been trying to implement IfcBsplineSurface, IfcBsplineSurfaceWithKnots and IfcRationalBSplineSurfaceWithKnots using this library in c++ / emscripten / WabAssembly and I having some issues which are probably caused by me doing something wrong.

One thing is that axes direction don’t seem to match, and I’m not sure in which space TinyNURBS operate.

X right, y up, z to viewer ?

IFC allows defining custom coords, which additionally complicates things.

On the upside, tinynurbs perfectly matches the IfcAdvancdFace use case, and seems to work quite fast, solving a decades long problem entire BIM community was facing when rendering detailed toilet bowls and doorknobs in a browser.

There’s a huge community and even some bounties involved. See https://github.com/tomvandig/web-ifc for more details.

Enable custom vector type (not only from glm)

Hi there,

Happy to see this well written cpp NURBS library exists !
Although it's not featuring all major NURBS operations yet, I'm evaluating the opportunity to use it in a personal project.

First I would like to know if it would make sense I submit a modified version of tinynurbs allowing using an arbitrary vector type (for my use it would be boost::qvm vectors).
It would imply adding a VECTOR_T template parameter for most classes and functions, as well as writing vector back-end classes for vector interfaces that do not match with your implementation based on glm.

Any feedback from main contributors here is welcomed.

Best,
Flarkk

Feature Request: Make Non-Periodic

Hi @pradeep-pyro , many thanks for a well written NURBS implementation in modern C++!

I wonder if you could consider adding some helper methods around periodic curves and surfaces.

  • Make non-periodic.
  • Periodic Surface evaluation (across domain boundaries)

Bug : the obj test files don't work

Hi ,

I installed and run your code but found that the obj files don't work.

I even tried the one you wrote on your README markdown file.

do you happen to know why? did the norm change? what viewer are you using?

BUG: findSpan may be stuck in an infinite loop in this case.

Hi ~ Tinynurbs is a nice library ~
But I encountered a problem when I was using the following code.
findSpan will be stuck in an infinite loop.

vector<float> knots = {0, 1, 1.3, 2.1, 3.6, 4.0};
int x = tinynurbs::findSpan(2, knots, 2.1f);

knotMultiplicity errors

Hi, props to the nice and fast library. I am setting up some testing of the NURBS curves before I sample them to points using tinynurbs and I ran into two issues with the knotMultiplicity function in check.h.
First, "i" should be used at line 263 instead of "index". Now it evaluates the same element in each iteration.
Then, the variable "mult" should be initialized to 1, since the loop finds the number of equalities among the knot values, but the actual number of equal points is "equalities+1".
T

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.