Giter Site home page Giter Site logo

geode-solutions / opengeode Goto Github PK

View Code? Open in Web Editor NEW
144.0 11.0 9.0 14.36 MB

Open source framework for representing and manipulating geometric models

Home Page: https://geode-solutions.com/opengeode

License: MIT License

CMake 2.98% C++ 88.79% Python 8.07% C 0.16%
brep modeling mesh meshing

opengeode's Introduction

OpenGeodeby Geode-solutions

Open source framework for representing and manipulating geometric models

Build Status Deploy Status Coverage Status Version PyPI

Windows support Ubuntu support Red Hat support

Language License Semantic-release Slack invite DOI


Introduction

OpenGeode is an open source framework for representing and manipulating geometric models, from simple meshes to complex boundary representations. The framework is easy to use thanks to its readable API and its Python bindings for quick prototyping. It is the industrialization of a 5-year research prototype platform RINGMesh.

Ecosystem

Project Version Description
OpenGeode-IO OpenGeode-IO-version Implementation of input and output formats
OpenGeode-Geosciences OpenGeode-Geosciences-version Custom objects and algorithms tailored for Geosciences
OpenGeode-GeosciencesIO OpenGeode-GeosciencesIO-version Implementation of input and output formats for Geosciences
OpenGeode-ModuleTemplate OpenGeode-ModuleTemplate-version Template for creating your own OpenGeode modules
OpenGeode-Inspector OpenGeode-Inspector-version Inspecting meshes and models
Geode Geode-version Open-source software for visualization, modeling and much more

Documentation

Code and API are fully documented inside the code itself. To check out our live documentation, visit docs.geode-solutions.com.

Installing OpenGeode is done:

  • either, by compiling the C++ source. Check this documentation page for more details.
  • or, by using pip command pip install OpenGeode-core and add import opengeode in your Python script. Check this documentation page for more details.

Questions

For questions and support please use the official slack. The issue list of this repo is exclusively for bug reports and feature requests.

Changelog

Detailed changes for each release are documented in the release notes.

License

MIT

Copyright (c) 2019 - 2024, Geode-solutions

opengeode's People

Contributors

benjaminchauvin avatar benoit2776 avatar benoitthebault avatar benpinet avatar botellaa avatar francoisbonneau avatar melchiorschuh avatar panquez avatar spliit avatar yo35 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

opengeode's Issues

New class Identifier

Add an Identifer class holding at least a name and a uuid.
This class could be a new mixin used in a lot of places.

OrientedVertexCycle

Create OrientedVertexCycle and use it in queries like polyhedron_facet_from_vertices

Allow several types of internal/embedding

Using ComponentID instead of uuid in Relationships

  • New CollectionRanges using ComponentID
  • Update tests on CollectionRanges and ItemRanges (number of relations, ...)
  • Update warning message "Relation already exists" using component type

Improve Surface and Solid cloning

  • Copy of Surface edge attributes is missing
  • Copy of Solid edge attributes is missing
  • Copy of Solid facet attributes is missing
  • Solid edges are ordered during cloning of TetrahedralSolid
  • Check order of Solid facet during cloning of TetrahedralSolid
  • Check order of Surface edge during cloning of TrigulatedSurface

Move facet and edge usage in interface classes

Today, Surface and Solid implementation classes should manage operations (add, remove, etc.) of facets and edges. This should be moved up into interface classes. As an example, do_create_edges should be final in TetrahedralSolidBuilder and PolyhedralSolidBuilder

Modify Grid Index accessors

GridCellIndex -> GridCellIndices
GridVertexIndex -> GridVertexIndices
GridCellIndices -> GridCellsAroundVertex

differentiate index (index_t) and indices (Grid*Indices) in the methods

Clean the methods which do cell_index(index) or cell_indices(index), to clarify which method is preferred in terms of input and computation speed.

Rename BRep::items()

For derived classes (e.g. Structural Model), we should avoid overloading methods such as items()

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.