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

Planning overview for Demo 1 #7

Open
12 of 34 tasks
Lathreas opened this issue Jan 31, 2023 · 0 comments
Open
12 of 34 tasks

Planning overview for Demo 1 #7

Lathreas opened this issue Jan 31, 2023 · 0 comments

Comments

@Lathreas
Copy link
Contributor

Lathreas commented Jan 31, 2023

Our first milestone will be a demo-version capable of editing a minimal set of anatomical features in functional detail. This will be focused on the elbow region, for which the backend and frontend must work together.

Proof of concept demo 1:

For proof of concept demo 1, we will need to finish the following implementation tasks:

Blender-specific backend work

Bones and Joints

  • Implement placeholder (unconstrained) long bone geometry
    • This is the geometry representation of a bone before constraints are applied
  • Raytracing smoothing equations for bones-to-joints
    • Raytracing is required for the bone-joint model, as the bone and joint have to link together. This is done through raytracing the bone onto the joint.
    • Implement smoothing function
    • Implement raytracing smoothing logic for Hinge Joints
    • Implement raytracing smoothing logic for Ball-and-Socket Joints
    • Translate joint smoothing logic to GeoScript for improved maintenance #11
    • Other joint types will be completed in the next demo
  • Implementation of long-bone geometry generation model
  • Implement user interface for editing properties
  • Implement ARF armature-bone-muscle-skin pipeline constraints.
    • An important aspect for the ARF is to ensure that there are no redundant degrees of freedom. This means that the positions of joints must be tightly linked to the positions of bones and armature, such that there is only one datapoint describing the joint's position rather than two or three. The same holds for any other property.
    • Link joints to armature intersections.
    • Ensure that joints can be easily moved by the user when wanted, and that the armature will follow.
  • Implement 3D editing gauges for editing joint and bone properties #9
  • Implement custom edit contexts #8
    • These "edit contexts" do not correspond to the edit modes in Blender, but rather are custom views where certain features are hidden so other features can more easily be edited.
    • ARF Armature Edit Context
      • Displays armatures, and allows for selecting and editing joints. Hides bones, muscles, skin, and other such tissue.
    • ARF Skeleton Edit Context
      • Displays bones, allowing for easy selecting and editing of the skeleton. Only shows joints relevant to the selected bone. Muscle insertion sites are displayed, but muscles themselves are hidden.
    • ARF Bone Edit Context
      • Displays a single bone, and all connected elements in a transparent way, to make editing a single bone easier.
    • ARF Muscle Routing Context
      • Displays skeleton and muscles, allows muscles to be selected and rerouted smoothly.
    • ARF Skin Edit Context
      • Displays skin, allowing for editing skin and fat tissue underneath.

Muscles

  • Implement insertion sites
    • Implement logic and geometry
    • Translate muscle insertion sites to GeoScript for improved maintenance
  • Implement muscle fiber model
    • Implement logic and geometry
    • Translate muscle fiber model to GeoScript for improved maintenance
  • Implement muscle-to-bone anti-intersection algorithm
  • Implement muscle-to-muscle anti-intersection algorithm
natis1 added a commit to natis1/anatomy3d-blender that referenced this issue Mar 12, 2023
Adds custom edit context views and closes Freedom-of-Form-Foundation#7

The views added are "Armature Mode", "Skeleton Mode", "Muscle Mode", and "Skin Mode"

Additionally, there's a "Smart Object Mode" which functions as
"Bone Edit Context" would but can be run on any object, not just bones.

Smart Object Mode will make visible any selected objects, plus any objects in any geometry nodes
present on these selected objects.
natis1 added a commit to natis1/anatomy3d-blender that referenced this issue Mar 12, 2023
Adds custom edit context views and closes Freedom-of-Form-Foundation#7

The views added are "Armature Mode", "Skeleton Mode", "Muscle Mode", and "Skin Mode"

Additionally, there's a "Smart Object Mode" which functions as "Bone Edit Context" would but can be run on any object, not just bones.

Smart Object Mode will make visible any selected objects, plus any objects in any geometry nodes present on these selected objects.
Lathreas pushed a commit to Lathreas/anatomy3d-blender that referenced this issue Apr 2, 2023
* Custom Edit Context Views

Adds custom edit context views and closes Freedom-of-Form-Foundation#7

The views added are "Armature Mode", "Skeleton Mode", "Muscle Mode", and "Skin Mode"

Additionally, there's a "Smart Object Mode" which functions as "Bone Edit Context" would but can be run on any object, not just bones.

Smart Object Mode will make visible any selected objects, plus any objects in any geometry nodes present on these selected objects.

* Smart Object Select now relies on geometry_constraints

as explicitly set in the ARF menu rather than trying to intuit them from the geometry nodes.

Also adds asserts for ARF existing, removes any code going over line 80, and adds doc strings to the
top of the file.
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

No branches or pull requests

1 participant