Skip to content

Implement missing Cube methods #190

Open
@IceflowRE

Description

  • rotate

    void rotate(const glm::vec3 &axis);
  • mirror

    void mirror(const glm::vec3 &axis);
  • get_neighbors

    [[nodiscard]] std::array<std::weak_ptr<Cube>, 25> get_neighbors() const;
  • get_neighbor

    [[nodiscard]] std::weak_ptr<Cube> get_neighbor(const glm::vec3 &position) const;
  • look_at_geometry

    /// Get the cube you were looking at it's geometry.
    [[nodiscard]] std::weak_ptr<Cube> look_at_geometry(const glm::vec3 &position, const glm::vec3 &direction) const;
  • point_in_geometry

    /// Gets the smallest existing cube, where the point is inside the geometry.
    [[nodiscard]] std::weak_ptr<Cube> point_in_geometry(const glm::vec3 &position) const;
  • point_in_cube

    /// Get the smallest existing cube, where the point is inside the cubes bounding box.
    [[nodiscard]] std::weak_ptr<Cube> point_in_cube(const glm::vec3 &position) const;
  • optimize

    /// May merge child cubes into one normal cube if possible.
    void optimize();

Related:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    cat:enhancementenhancement/requested feature/update of existing featuresdiff:first issuegood first issue to start contributingdiff:intermediateintermediate skills requiredfeat:octreeoctree, cube computations

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions