Skip to content

rasegi/OpenVED

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenVED

Modern 2D vector geometry and rendering engine for Qt6/C++

In memory of Jamshid Sharmahd.


Overview

OpenVED is a lightweight 2D vector drawing and geometry engine originally developed in the late 1990s in Hannover, Germany.

The project has been modernized and ported to modern C++ and Qt6 while preserving its original geometric concepts and lightweight architecture.

OpenVED focuses on:

  • 2D vector geometry
  • precise geometric primitives
  • lightweight rendering
  • modern Qt integration
  • clean CMake-based builds
  • reduced legacy dependencies

The original codebase has been refactored to remove historical ballast, obsolete C libraries, and platform-specific legacy code.


Features

  • Modern C++23 implementation
  • Qt6-based rendering and UI integration
  • 2D vector primitives
  • Geometry operations
  • Lightweight architecture
  • Cross-platform design
  • CMake build system
  • Minimal external dependencies

Project Goals

OpenVED is intended as:

  • a reusable 2D vector geometry engine
  • a foundation for CAD-like applications
  • an educational geometry/codebase
  • a preservation of historical engineering software concepts modernized for current systems

Technology

Component Technology
Language C++23
GUI/Rendering Qt6
Build System CMake
Platforms Linux, macOS, Windows

Build

Requirements

  • C++23 compatible compiler
  • Qt6 Widgets
  • CMake 3.24+
  • Ninja (recommended)
  • FreeType development files
  • HarfBuzz development files

FreeType and HarfBuzz can be provided either by the system/package manager or vendored under third_party/freetype and third_party/harfbuzz.


Build Example

git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED

mkdir build
cd build

cmake .. -G Ninja
cmake --build .

macOS Build Example

Using Homebrew:

brew install cmake ninja qt freetype harfbuzz

git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED

cmake -S . -B build -G Ninja \
  -DCMAKE_PREFIX_PATH="$(brew --prefix qt);$(brew --prefix freetype);$(brew --prefix harfbuzz)"

cmake --build build

Windows Build Example

Using vcpkg and Visual Studio 2022:

git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED

vcpkg install qtbase freetype harfbuzz --triplet x64-windows

cmake -S . -B build -G Ninja `
  -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake `
  -DVCPKG_TARGET_TRIPLET=x64-windows

cmake --build build

For a fully static Windows dependency build, use a static vcpkg triplet:

vcpkg install qtbase freetype harfbuzz --triplet x64-windows-static

cmake -S . -B build-static -G Ninja `
  -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake `
  -DVCPKG_TARGET_TRIPLET=x64-windows-static

cmake --build build-static

Design Principles

OpenVED intentionally avoids unnecessary complexity and large framework abstractions where possible.

The goal is to provide:

  • understandable geometry code
  • long-term maintainability
  • lightweight architecture
  • direct control over rendering and geometry structures

Status

The project is currently under active modernization and cleanup.

APIs and internal structures may still evolve.


License

OpenVED is released under the MIT License.

This project uses Qt under the LGPL license, as well as FreeType and HarfBuzz under their respective licenses.

See LICENSE for details.


Acknowledgement

This project is dedicated to the memory of Jamshid Sharmahd, a talented software engineer, independent thinker, and longtime friend.


Author

Originally developed in Hannover, Germany.

Modernized and maintained by Lukas Rasegi in Hannover, Germany.

About

Modern 2D vector geometry engine for Qt6/C++

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors