Giter Club home page Giter Club logo

flom's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

fossabot

flom's Issues

Consider an availability of location and rotation in each effector

For example:

at frame 0, effector "a" has location of (0,0,0), rotation of None,
at frame 1, effector "a" has location of None, rotation of (0,0,0,0),

(pseudo-motion)

flom can't interpolate frame 0 and frame 1 properly.
So this should be handled as invalid or something.

Lack of features to edit keyframes

Motion::get_or_insert_frame can add frame, however there is no way to delete existing frame.

Proposed APIs:

  • void Motion::insert_keyframe(long t, Frame const& frame) // by index
  • void Motion::insert_keyframe(double t, Frame const& frame) // by time
  • Frame Motion::delete_keyframe(long i) // by index
  • Frame Motion::delete_keyframe(double t) // by time
  • KeyFrameRange Motion::keyframes() // bidirectional iterator (writable)

And delete get_or_insert_frame

Bintray deployment fails due to conflict

https://travis-ci.org/DeepL2/flom/jobs/473237127

[Bintray Upload] Reading descriptor file: bintray.json
[Bintray Upload] Uploading file 'build/dist/flom-0.1+develop-Linux-x86_64.deb' to 0.1+develop/flom-0.1+develop-Linux-x86_64.deb
[Bintray Upload] Bintray response: 409 Conflict. Unable to upload files: An artifact with the path '0.1+develop/flom-0.1+develop-Linux-x86_64.deb' already exists
[Bintray Upload] Uploading file 'build/dist/flom-0.1+develop-Linux-x86_64.pkg.tar.xz' to 0.1+develop/flom-0.1+develop-Linux-x86_64.pkg.tar.xz
[Bintray Upload] Bintray response: 409 Conflict. Unable to upload files: An artifact with the path '0.1+develop/flom-0.1+develop-Linux-x86_64.pkg.tar.xz' already exists
[Bintray Upload] Uploading file 'build/dist/flom-0.1+develop-Linux-x86_64.rpm' to 0.1+develop/flom-0.1+develop-Linux-x86_64.rpm
[Bintray Upload] Bintray response: 409 Conflict. Unable to upload files: An artifact with the path '0.1+develop/flom-0.1+develop-Linux-x86_64.rpm' already exists
[Bintray Upload] Uploading file 'build/dist/flom-0.1+develop-Linux-x86_64.tar.gz' to 0.1+develop/flom-0.1+develop-Linux-x86_64.tar.gz
[Bintray Upload] Bintray response: 409 Conflict. Unable to upload files: An artifact with the path '0.1+develop/flom-0.1+develop-Linux-x86_64.tar.gz' already exists
[Bintray Upload] Uploading file 'build/dist/flom-0.1+develop-Linux-x86_64.zip' to 0.1+develop/flom-0.1+develop-Linux-x86_64.zip
[Bintray Upload] Bintray response: 409 Conflict. Unable to upload files: An artifact with the path '0.1+develop/flom-0.1+develop-Linux-x86_64.zip' already exists
[Bintray Upload] Publishing version '0.1+develop' of package 'latest'...
[Bintray Upload] Bintray response: 200 OK. 

t = 0 frames are not saved in loading

{
  "modelId": "a",
  "loop": "None",
  "effectorTypes": {
    "": {
      "location": "World",
      "rotation": "World"
    }
  },
  "frames": [
    {
      "t": 0,
      "positions": {},
      "effectors": {
        "": {
          "location": {
            "value": {
              "vector": {
                "x": 0,
                "y": 0,
                "z": 0
              },
              "weight": 0
            }
          },
          "rotation": {
            "value": {
              "quaternion": {
                "w": 0.707106949337315,
                "x": -0.0002815439416482546,
                "y": -0.7071065009352508,
                "z": -0.0002815439416482546
              },
              "weight": 0
            }
          }
        }
      }
    }
  ]
}

After load/dump:

{
  "modelId": "a",
  "loop": "None",
  "effectorTypes": {
    "": {
      "location": "World",
      "rotation": "World"
    }
  },
  "frames": [
    {
      "t": 0,
      "positions": {},
      "effectors": {
        "": {}
      }
    }
  ]
}

After some research, only t = 0 frames are not saved during import of motion.

Use Eigen

Eigen is better choice than Boost.QVM as a library to treat vectors and quaternions.

Eigen is popular, and pybind11 provides conversion between Eigen and python so that it can help improving performance of flom-py.

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.