Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
003f36a
cleanup before starting parallel impl
gdadunashvili Nov 21, 2023
93167fe
cleanup before starting parallel impl
gdadunashvili Nov 21, 2023
25d871d
ignore actions-runner
gdadunashvili Dec 4, 2023
0805ac2
added algorithm include in Triangulator.hpp & pure_node_move in Trian…
gdadunashvili Dec 4, 2023
cc1f22b
Merge branch 'master' into dev
gdadunashvili Dec 26, 2023
94479f8
changed docs
gdadunashvili May 28, 2024
3f59f2e
made two flip_MC_updater functions codependent
gdadunashvili Jun 6, 2024
389e6f8
simplified math expression
gdadunashvili Jun 8, 2024
af09f69
find common_neighbours with less vector allocations
gdadunashvili Jun 8, 2024
9181904
check if two nn nodes have two common neighbors
gdadunashvili Jun 8, 2024
738d030
simple style refactoring
gdadunashvili Jun 8, 2024
ee1e46c
better two common neighbor check during flipping
gdadunashvili Jun 8, 2024
d2afd41
static_cast instead of c style cast
gdadunashvili Jun 8, 2024
fa68b27
this rvalue ref overload led to overload conflicts
gdadunashvili Jun 8, 2024
708171d
builder script for sh flippy & docs before commit
gdadunashvili Jun 8, 2024
a3a7b55
new rvaue -vec test
gdadunashvili Jun 8, 2024
a069645
removed prototype of unimplemented minimizer
gdadunashvili Jun 8, 2024
a4cdbc4
new dependent files
gdadunashvili Jun 8, 2024
c3747a2
changed minimal demo and corresponding readme
gdadunashvili Jun 8, 2024
e0c8472
removed debug print statements
gdadunashvili Jun 8, 2024
d1ebb5a
migrated tests to catch3
gdadunashvili Jun 17, 2024
35edcee
updated stl-loader docs
gdadunashvili Jun 17, 2024
eb43379
adding benchmarking to the repository
gdadunashvili Jun 17, 2024
133c3f9
improved logger
gdadunashvili Jun 19, 2024
87a66cd
propper benchmark sim output saving
gdadunashvili Jun 19, 2024
2c4ef04
removed cmake files from gitignore
gdadunashvili Jun 19, 2024
c15c3fd
additional visualisation in the benchmark runner
gdadunashvili Jun 19, 2024
4458f3e
new unittests
gdadunashvili Jun 19, 2024
fc74542
simulation utils
gdadunashvili Jun 19, 2024
e243aa6
new benchmark logs
gdadunashvili Jun 19, 2024
dc469c3
api change to enable local updates
gdadunashvili Jun 20, 2024
72be36f
new Logs
gdadunashvili Jun 22, 2024
46d6dab
stripped out unit bending energy from Nodes
gdadunashvili Jun 22, 2024
47eb123
removed top level Real&Index templates
gdadunashvili Jun 22, 2024
5995eca
removed accidental commits
gdadunashvili Jun 23, 2024
7188dfc
quickfixed a bug rel to changed_neighbourhood
gdadunashvili Jun 23, 2024
61b125a
adapted banchmark logger to templateless flippy
gdadunashvili Jun 23, 2024
195fa08
adapted benchs and demos to templateless flippy
gdadunashvili Jun 23, 2024
dd35569
added logo in svg
gdadunashvili Jul 9, 2024
09e841f
new docs
gdadunashvili Jul 9, 2024
9b88bf1
new bench data
gdadunashvili Jul 9, 2024
f98cb58
new templateless interface
gdadunashvili Jul 9, 2024
80ba6cd
updated version reporting
gdadunashvili Jul 9, 2024
64b3778
standardize flippys index to std::size_t
gdadunashvili Nov 8, 2024
6fa34ec
distinguish between rel close and abs close
gdadunashvili Nov 8, 2024
e9fdf8e
Improve convergence speed of DynamicDisplacementUpdater
gdadunashvili Nov 8, 2024
5412dfb
Use modern ranges shuffle function
gdadunashvili Nov 8, 2024
d8abe45
Make saving globals optional
gdadunashvili Nov 8, 2024
432d005
properties string is further appended later
gdadunashvili Nov 8, 2024
d71e7a5
documentation update
gdadunashvili May 4, 2026
bfc30bd
introduce clang-format
gdadunashvili May 4, 2026
d207dec
introduce .clang-tidy
gdadunashvili May 4, 2026
f38a29b
reformat code according to clang-format
gdadunashvili May 14, 2026
a1afa90
update gitignore
gdadunashvili May 14, 2026
c507564
remove single_header_flippy
gdadunashvili May 14, 2026
512e474
update cmake usage, the whole project has one main CMakeLists.txt now
gdadunashvili May 14, 2026
3edbf41
add stl test assets
gdadunashvili May 14, 2026
ede3daa
add a tool for fixing documentation
gdadunashvili May 14, 2026
9b237e4
add benchmark timeline creator
gdadunashvili May 14, 2026
94b799c
bump the version
gdadunashvili May 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
102 changes: 102 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
AccessModifierOffset: 0
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: true
AlignFunctionDeclarations: true
AlignFunctionPointers: true
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: true
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCaseArrows: false
AlignCaseColons: false
AlignConsecutiveTableGenCondOperatorColons:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveTableGenDefinitionColons:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: true
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignEscapedNewlines: Left
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowBreakBeforeNoexceptSpecifier: Never
AllowShortCaseExpressionOnASingleLine: true
AllowShortCompoundRequirementOnASingleLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: true
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
BreakBeforeBraces: Custom
ColumnLimit: 120
IncludeBlocks: Preserve
IndentWidth: 4
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: true
QualifierAlignment: Left
CommentPragmas: '^.*A2Lfactory:'
---
Language: Cpp
Standard: c++20
...
15 changes: 15 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Checks: >
-*,
clang-analyzer-*,
cert-*,
cppcoreguidelines-*,
bugprone-*,
google-*,
misc-*,
performance-*,
readability-*,
modernize-*,
-modernize-use-trailing-return-type,
-readability-identifier-length,
-misc-non-private-member-variables-in-classes

15 changes: 10 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
.DS_Store
.directory
toolchain.cmake
actions-runner/*
actions-runner/_work
actions-runner
CMakeLists.txt
assets/flippy.psd
cmake-build*
.idea
.run

compile_commands.json
build-*
build/
cmakerc
logs/
.clangd
demo_out
flippy/flippy.hpp-e
discarded
tests/test.info
tests/test_out
logs
tests/res
banner.old
doxygen_warnings.log
make_doxygen_html.sh
make_single_header_flippy.sh
benchmarks
code_overview
/actions-runner/_work
/demo/planar_membrane_sheet_fluctuation_MC/
51 changes: 51 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
cmake_minimum_required(VERSION 3.16)
project(flippy)
file(READ "VERSION.json" ver)
string(JSON ver GET ${ver} VERSION)
string(REGEX MATCHALL "[0-9]+.[0-9]+.[0-9]+" version ${ver})
string(REGEX MATCHALL "-.+" pre_release_flag ${ver})
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

if("${pre_release_flag}" STREQUAL "")
message("no prerelease flags to set")
project(flippy VERSION ${version})
else()
project(
flippy
VERSION ${version}
DESCRIPTION ${pre_release_flag})
message("prerelease flag: ${pre_release_flag}")
endif()

if(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
message("building for MSVC")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O2")
else()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3")
endif()

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer")

set(FLIPPY_COMPILE_OPTIONS
-Wall
-Wextra
-Wpedantic
-Wshadow
-Wconversion
-Wswitch-enum
-Werror
-ffast-math
# gToDo: remove this after fixing nlohmann dependency
-Wno-nan-infinity-disabled
# gToDo: remove this after fixing catch2 dependency
-Wno-c2y-extensions)

set(CMAKE_CXX_STANDARD 26)
set(CXX_STANDARD_REQUIRED ON)

enable_testing()

add_subdirectory(third_party)
add_subdirectory(tests)
add_subdirectory(demo)
add_subdirectory(benchmarks)
Loading
Loading