Giter VIP home page Giter VIP logo

immerse's Introduction

Hi there ๐Ÿ‘‹

immerse's People

Contributors

jtoumey avatar

Watchers

 avatar  avatar

immerse's Issues

Abstract the entire polygon immersion

There is too much detail exposed to the main function. Passing and updating pointers should be handled by the objects.

  • Create a method that immerses the polygon and refines the mesh automatically. This can make use of existing methods.
    • Break up the functionality into reading the polygon, refining based on point locations, traversing the tree if the node has already been allocated, etc.

Refactor refinement code

Currently, the refine method recursively refines the entire tree by adding four children to each parent until reaching the max_level. This duplicates the functionality of the insert method, which does the same but only for one level at the current node memory address.

Instead, refine should accept a level of refinements to perform (1 or more) and do that instead.

Add a traversal function

It would be useful to traverse the quadtree and optionally write the cell center and other information to a file for visualization. This can work in a recursive manner (similar to refinement), but only proceed if the cell initialization != NULL.

  • Modify the code such that a leaf cell (cell with no children) has some indicator (e.g., NULL value of some flag).

Add the ability to coarsen the quadtree

  1. Traverse to the finest level of the tree (determined when is_leaf == true). Store the memory address of the path (e.g., the memory address of the current node).
  2. Move up one level (may require storage of memory address of parent node).
  3. Use the memory address saved in 1. to deallocate the object associated with the refined node and set the child pointer to NULL.
  4. Repeat in the desired manner (until an appropriate level is attained, etc.).

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.