Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #14

Merged
merged 1,005 commits into from
Oct 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1005 commits
Select commit Hold shift + click to select a range
357f383
Update extensions libbrary for linux arm64
hzcyf Sep 6, 2024
598d3f8
Remove redundant code, optimize some code logic, and fix the issue of…
hzcyf Sep 7, 2024
4ea2838
Fix the gmsl Depth 480x270 stream
hzcyf Sep 7, 2024
5251b11
Fix compile warnnig
hzcyf Sep 7, 2024
8cf7f97
Fix the issue of incorrect execution length for control commands.
hzcyf Sep 7, 2024
69e5f4b
Fix the crash issue in HDR Sample.
hzcyf Sep 7, 2024
990abf8
fix gmsl&usb2.1 default resolution.
3Ddaiwei Sep 7, 2024
3327301
Simplify log output and remove some redundant code.
hzcyf Sep 9, 2024
4fe0fb8
Add ob::Error information printing to the device control sample.
hzcyf Sep 9, 2024
c990f83
Add attention on readme of hot_plugin sample
hzcyf Sep 9, 2024
d9f5987
Configure UVC backend type through a configuration file.
hzcyf Sep 9, 2024
9f678d2
Remove usb2 repeat property for gmsl device
hzcyf Sep 9, 2024
8bc7956
Optimize the build_examples script to enhance interactivity; fix the …
hzcyf Sep 9, 2024
45af6a9
Fix device creation issue by uid.
hzcyf Sep 9, 2024
df4c066
Updata frame processor library for linux arm64 platform.
hzcyf Sep 9, 2024
2211136
fix orbbecviewer metadata view flash issue.
3Ddaiwei Sep 9, 2024
7390550
fix orbbecviewer metadata view flash issue.
3Ddaiwei Sep 10, 2024
bad4dd9
Add cmake option to enable sanitize.
hzcyf Sep 10, 2024
3438bcb
Fixed the issue of calculation difference in the clock synchronizatio…
hzcyf Sep 10, 2024
b2e3e9d
Fixed the issue of incorrect usage of frmae in the point cloud filter.
hzcyf Sep 10, 2024
d494970
Modified the GMSL device UID format; removed some redundant code.
hzcyf Sep 10, 2024
64d4557
Fix compile warning on windows
hzcyf Sep 10, 2024
6188757
Fixed the issue of missing IMU node in GMSL.
hzcyf Sep 10, 2024
d2ca3a3
Change the default value to 0 sequenceid for SequenceIdFilter
hzcyf Sep 10, 2024
1e38fb8
Remove hw d2c feature from sync_align sample and add hw_d2c_align sample
hzcyf Sep 10, 2024
1c59099
Fix the issue of failing to create a GMSL device via UID.
hzcyf Sep 10, 2024
5a47ca4
Update the version number to v2.0.8
hzcyf Sep 10, 2024
af2fbdd
Merge branch 'feature/gmsl_bug_fix' into 'develop'
hzcyf Sep 10, 2024
792f125
Update extensions library for linux x64
hzcyf Sep 10, 2024
7166f56
Add a partial hint when the device doesn't support presets
Sep 7, 2024
5c8eda9
Modify the default color stream to MJPG in some samples to fit Mega E…
Sep 9, 2024
c75117c
Color stream format for the rollback section example
Sep 9, 2024
f0ea3c1
Optimized code for creating devices on linux platforms by omitting de…
Sep 9, 2024
fd7bf5a
Actively declare some destructors
Sep 10, 2024
d33086c
Fix the problem caused by using nullptr
Sep 10, 2024
965108e
reset modify
Sep 10, 2024
793729a
Merge branch 'feature/samples_mega_net' into 'develop'
hzcyf Sep 10, 2024
dbaf944
Modify frame aggregate output on hw d2c sample
hzcyf Sep 10, 2024
b399f27
Fixed the memory leak issue in getRecommendedFilters.
hzcyf Sep 11, 2024
4816877
Rename the function from getRecommendedFilters to createRecommendedF…
hzcyf Sep 11, 2024
3c8caa7
Fix impl is nullptr problem for frame return by filter
hzcyf Sep 11, 2024
decd192
Check libopencv are installed or not on build examples scripts
hzcyf Sep 11, 2024
ec712d9
Implement the enableDeviceClockSync API
hzcyf Sep 11, 2024
d5a5017
Fix dead lock on enableDeviceClockSync
hzcyf Sep 11, 2024
edd3c75
Fixed memory leak issue in the Filter class.
hzcyf Sep 12, 2024
3531a1d
Fix compile error on windows
hzcyf Sep 12, 2024
8ec4393
Change default file-log level to error
hzcyf Sep 12, 2024
e1e4d4e
Implement ob_set_extensions_directory API and update related files
hzcyf Sep 12, 2024
ef5b51f
Update lib FrameProcessor
hzcyf Sep 12, 2024
aee9051
Update readme and extensions for arm64
hzcyf Sep 12, 2024
2309871
Update user guide.
hzcyf Sep 12, 2024
ac25834
Update features_not_available_at_v2.x.x.md
hzcyf Sep 13, 2024
30b7aa2
Add mirror/flip/rotate related content to the features_not_available …
hzcyf Sep 13, 2024
8a7a251
Add compilation guide in the development guide.
hzcyf Sep 13, 2024
49d10d8
Update Utils.hpp. Deprecates some interfaces.
Sep 13, 2024
db0206a
Testbed Update
Sep 13, 2024
ac681ad
Testbed Update
Sep 13, 2024
fe45c47
Fix installation_and_development_guide.md
hzcyf Sep 13, 2024
b6f2988
Capture exceptions to avoid streams thread crashes.
hzcyf Sep 13, 2024
e2b8d2f
Fix deactivate() to avoid potential deadlock
hzcyf Sep 14, 2024
2d7014b
Fix compile error on WmfUvcDevicePort
hzcyf Sep 14, 2024
7e05e58
Optimize the network device enumeration code.
hzcyf Sep 14, 2024
aa9873f
Fix device name for femto mega i
hzcyf Sep 14, 2024
9a23b5d
Add NV12 format supported for femto bolt device
hzcyf Sep 14, 2024
4b043f1
Add a check to determine if the passed-in arguments are the same on F…
hzcyf Sep 14, 2024
921b0b3
Add command mapping for hardware D2C for the Mega device in USB mode.
hzcyf Sep 14, 2024
fc18d2f
Fix the timestamp deviation issue for G330 and G330L.
hzcyf Sep 18, 2024
b60c0e6
Fix correct bracket typo in function
Sep 18, 2024
f882ef2
Add support for Gemini2 XL device.
hzcyf Sep 19, 2024
605959e
Add g330 metadata parser temp code
cool-wuzh Sep 4, 2024
184d0b0
Refinement of the G330 Metadata program implementation code
cool-wuzh Sep 9, 2024
4672fb1
Adaptation of Actual Frame Rate Metadata type
cool-wuzh Sep 10, 2024
5b2edfc
Fix C++11 compilation failure problem
cool-wuzh Sep 10, 2024
b2bc515
Modify Frame Metadata parser container to component, add configuratio…
cool-wuzh Sep 13, 2024
18329d4
Optimize metadata container and parser logic.
cool-wuzh Sep 13, 2024
65a9b62
Add filter library activation logic
cool-wuzh Sep 19, 2024
326b6e7
Resume sample code
cool-wuzh Sep 19, 2024
89790a6
Merge branch 'feature/g330_metadata' into 'develop'
cool-wuzh Sep 19, 2024
5fd5f87
Remove unnecessary code and comments.
hzcyf Sep 19, 2024
30497bf
Optimize Femto Mega network mode adaptation code.
hzcyf Sep 19, 2024
f7ba1c6
Merge branch 'feature/utils_hpp' into 'develop'
hzcyf Sep 19, 2024
9d5af21
Complete the Gemini2 XL device network mode adaptation.
hzcyf Sep 19, 2024
c7af31c
Fix the crash issue during Mega device initialization.
hzcyf Sep 19, 2024
3d7a1ed
Repair HDRMerge Filter to support for IR frame, simplify HDR Sample.
hzcyf Sep 19, 2024
518fa88
Adjust the IMU stream shutdown sequence to reduce time consumption
hzcyf Sep 19, 2024
951f550
Adjust FrameMetadataParsingPath default value to ExtensionHeader
hzcyf Sep 19, 2024
c147abf
Fix linux compile error issue
cool-wuzh Sep 19, 2024
4c56329
Fix compile error in linux platform when using gcc11
cool-wuzh Sep 19, 2024
7ed3478
match exposures of ir and depth
Sep 19, 2024
c137e90
Fix the issue of incorrect timestamp in the network mode of the G2XL …
hzcyf Sep 19, 2024
8d2af0d
Fix the issue of Mega depth delay configuration failure.
hzcyf Sep 19, 2024
5a7f480
Update version number to v2.0.9
hzcyf Sep 19, 2024
0124ab0
Merge branch 'feature/hdr_ir' into 'develop'
hzcyf Sep 20, 2024
ea8a67a
Repair the depth unit error in hardware D2D mode.
hzcyf Sep 23, 2024
8769cd7
Remove unnecessary test code.
hzcyf Sep 23, 2024
14feb85
Fix compile error on linux and enhance the D2D property code.
hzcyf Sep 23, 2024
74667b2
Adaptation of Property to control the noise removal filter parameter.
cool-wuzh Sep 23, 2024
9c4ff01
Repair the compatibility handling of frame-related interfaces in the …
hzcyf Sep 25, 2024
6364868
Optimize the custom data send and receive feature.
hzcyf Sep 25, 2024
39a7a31
[examples][add]:add sample 3.advanced.multi_devices_sync_gmsl & 3.adv…
3Ddaiwei Sep 25, 2024
554be2d
[example][modify]:modify sample code head note
3Ddaiwei Sep 25, 2024
ee60dcf
Fix g330 metadata parsing issue with duplicate fetch directives when …
cool-wuzh Sep 25, 2024
819a4fc
Fix compile error on impl.
hzcyf Sep 25, 2024
198f8fd
Fix Linux V4L2 metadata parsing error issue
cool-wuzh Sep 25, 2024
d8c0b2c
Adapt to the new G330 firmware, fix the problem of V4L2 Metadata not …
cool-wuzh Sep 26, 2024
f6e61fb
Many bug fixes and code optimizations.
hzcyf Sep 26, 2024
0e7c0bd
Add ThresholdFilter to the recommended list for G2/G2XL depth post-pr…
hzcyf Sep 26, 2024
34d7d36
Implementing the hardware upgrade interface
Sirudoi Sep 25, 2024
280469d
Fix some compile errors
Sirudoi Sep 25, 2024
4af22da
Add cmake to copy firmwareupdater library to the build directory
Sirudoi Sep 25, 2024
a7e2adb
Add asynchronous hardware upgrade and optimize code
Sirudoi Sep 25, 2024
63e5316
Fix the asynchronous upgrade issue
Sirudoi Sep 26, 2024
a2349e4
Add .gitkeep to reserve space for ext libraries in win and linux
Sirudoi Sep 26, 2024
5761363
Fix the issue where getting device extended information returns an em…
hzcyf Sep 26, 2024
75e66e9
Add support for Astra2 and G2 firmware updates
hzcyf Sep 26, 2024
3919326
[gmsl][fix]:fix g335lg gmsl pointcloud display green issue after reboot
3Ddaiwei Sep 26, 2024
11ae6d6
Add OrbbecSDKExt library to the extension directory
Sirudoi Sep 26, 2024
c94da9d
[gmsl][opt]:opt imu stream_pressure thread exit.
3Ddaiwei Sep 26, 2024
54ee1d5
Remove .gitkeep file in linux extension file
Sirudoi Sep 26, 2024
366e65f
Fix G330 series using payload header to parse metadata scheme timesta…
cool-wuzh Sep 26, 2024
5c22e36
Merge branch 'feature/ext_firmware_updater' into 'develop'
Sep 26, 2024
afeed63
Remove the factory calibration mode for G2 and Astra2
hzcyf Sep 26, 2024
e3c1668
Adapt the missing filter on py wrapper
Sep 14, 2024
1d5f84d
Add macro for backward compatibility: map NOISE_REMOVAL_FILTER to SOF…
Sirudoi Sep 24, 2024
4dcf8f8
Temporarily add FilterList interface
Sirudoi Sep 24, 2024
034b095
Rename the interface
Sirudoi Sep 25, 2024
eff7095
Merge branch 'feature/interface_adapted' into 'develop'
Sep 26, 2024
6b60b59
Add ThresholdFilter to recommended Post Processing for all devices.
hzcyf Sep 26, 2024
f5bdc84
Update obsensor_metadata_win10.md
holovincent Sep 14, 2024
75ddad4
Update obsensor_metadata_win10.md
holovincent Sep 14, 2024
ee693e2
Update features_not_available_at_v2.x.x.md
holovincent Sep 18, 2024
d814b38
Update api_changes_at_v2.x.x.md
holovincent Sep 18, 2024
078f69f
Update README.md
holovincent Sep 18, 2024
ec465b8
Merge branch 'feature/github_doc' into 'develop'
Sep 26, 2024
c8af35a
Fix femtobolt d2c profile list duplication issue
cool-wuzh Sep 27, 2024
2d3ab66
Remove FemtoBolt and FemtoMega soft filter config
cool-wuzh Sep 27, 2024
86bb1e3
Update version number to v2.0.10 and update docs.
hzcyf Sep 27, 2024
a2e5681
Filtering non-RGB color stream in hardware D2Csample
Sirudoi Sep 27, 2024
7c46ff9
Merge branch 'develop' of code.orbbec.com.cn:OrbbecSDK/openorbbecsdk …
Sirudoi Sep 27, 2024
1380b84
Update firmware updater lib for win and linux x86
hzcyf Sep 27, 2024
9d30c4b
Modify the name of the firmware upgrade library
hzcyf Sep 27, 2024
f923060
Modify CMake to add the firmware library to the installation directory
Sirudoi Sep 27, 2024
8cd7540
Modify CMake to add the depthengine library to the installation dire…
hzcyf Sep 27, 2024
d848ddf
Solve the parameter configuration failure issue of PointCloudProcess …
hzcyf Sep 27, 2024
d578e41
[gmsl][fix]:fix frameindex occasional zero issue.
3Ddaiwei Sep 27, 2024
ef1d23a
Adjust the default uvc backend and metadata parsing path in the confi…
hzcyf Sep 28, 2024
1d27215
Add a start message reply before beginning the firmware upgrade
hzcyf Sep 28, 2024
1b0a847
Update extensions lib file for linux x86 and aarch64
hzcyf Sep 28, 2024
b8eba19
Update FilterProcessor lib file for linux x86 and aarch64
hzcyf Sep 28, 2024
88031cc
Update extensions lib files for win.
hzcyf Sep 28, 2024
e67079b
Fix the issue of miscalculating the maximum size of the memory pool w…
hzcyf Sep 28, 2024
3afe6f4
Update the API Reference and github pages links in the Readme
hzcyf Sep 28, 2024
17c111c
Update the API Reference link
hzcyf Sep 28, 2024
209d939
Fix the issue of relative links not working in GitHub Pages
hzcyf Sep 28, 2024
504dd5f
Update he README documentation of examples
hzcyf Sep 28, 2024
bd2d4dd
Fix the issue of IMU/HID stream stop failure.
hzcyf Sep 28, 2024
27caf8e
Change Chinese comments to English
Sep 29, 2024
6dd911c
Fix some bug for G330 GMSL device.
hzcyf Sep 29, 2024
5f0bfae
Disable GMSL firmware upgrade function
Sep 29, 2024
9040c6a
Fixed the problem that GMSL examples in the install package would not…
Sep 29, 2024
9cff68a
Change OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL to write-only
Sep 29, 2024
7d2313d
Update version number to v2.0.11
Sep 29, 2024
6d1c25a
Set the point cloud transformation to default to a right-handed coord…
zhonghong322 Sep 29, 2024
2335347
Add copynight
Sep 29, 2024
79f69a4
Delete some old copynights and optimize blank lines
Sep 30, 2024
ee419e3
Remove some old copynight
Sep 30, 2024
72d9a73
Improve readme for extensions.
hzcyf Sep 30, 2024
2aea87a
Merge branch 'feature/add_copynight' into 'develop'
hzcyf Sep 30, 2024
02fabdf
Block GMSL samples and fix bugs in some other samples
Sep 30, 2024
c47bb25
ImuStreamer locks before accessing the callback.
hzcyf Oct 1, 2024
40cc415
Modify the version number to v2.0.12
Oct 1, 2024
85d148a
Update FilterProcessor lib file for linux x86 and aarch64
Oct 1, 2024
a3b8ec4
Update extensions lib files for win_x64
Oct 1, 2024
ecfd51a
Modify the shebang to the top of the script
Oct 8, 2024
d16e267
Repair the accuracy of the sleep function.
hzcyf Oct 8, 2024
cee4f20
Restore the GMSL device firmware upgrade function and fix the existin…
hzcyf Oct 8, 2024
42642ec
Modify the shebang to the top of some script files
Oct 8, 2024
659a5e1
Simplify the code to resolve compilation errors on the Windows platform.
hzcyf Oct 8, 2024
2ef3915
Add support for BGR, BGRA, RGBA formats in Align Filter C2D processing.
hzcyf Oct 9, 2024
ebed871
Modify the depth.c sample to use default stream profile for start str…
hzcyf Oct 9, 2024
de52123
[example][fix]:fix example ob_multi_devices_sync_gmsl S/T key function.
3Ddaiwei Oct 9, 2024
6181ce5
Add support for bootloader devices
hzcyf Oct 9, 2024
a65477f
Update version number to 2.0.13
hzcyf Oct 9, 2024
ee31aae
Fix the default value of selectedID_ in SequenceIdFilter.
hzcyf Oct 9, 2024
99ce90c
Fix metadata sequence size and color exposure unit error issue
cool-wuzh Oct 10, 2024
343783d
Modify live555 support orbbec mjpeg format
cool-wuzh Oct 10, 2024
0d5185c
Fix the callback function of format converter in VideoSensor and opti…
hzcyf Oct 10, 2024
c65497a
Fix metadata actual fps error issue
cool-wuzh Oct 11, 2024
deb5607
Fixed data format conversion errors in FormatConverterProcess .cpp an…
hzcyf Oct 12, 2024
51ed9c2
Update version number to v2.0.14
hzcyf Oct 12, 2024
031ff67
[example][opt]:opt multi_devices_sync_gmsl cmakelist.txt
3Ddaiwei Oct 12, 2024
9151d46
Update extensions lib file for linux x86
hzcyf Oct 12, 2024
273e410
Update extensions lib for arm64
jian-dong Oct 12, 2024
d2b69b4
Update extensions lib for win x64
hzcyf Oct 12, 2024
ebc43f9
Fix thread notification issues in FrameQueue
hzcyf Oct 12, 2024
620034d
Update extensions lib file for linux arm64
hzcyf Oct 12, 2024
3fdeb7c
[example][fix]:fix ob_multi_devices_sync_gmsl press ESC quit issue on…
3Ddaiwei Oct 12, 2024
28143a3
Merge branch 'develop' of code.orbbec.com.cn:OrbbecSDK/openorbbecsdk …
3Ddaiwei Oct 12, 2024
38358c1
Adjust macos arm64 platform compile issue
cool-wuzh Oct 14, 2024
9a4329b
Resume example cmake config
cool-wuzh Oct 14, 2024
2f9c0ae
Fix compile warnings on linux.
hzcyf Oct 14, 2024
a67b325
Adding thread-safe handling for control methods on ObV4lUvcDevicePort…
hzcyf Oct 14, 2024
0331d0e
[example][fix]:fix ob_multi_devices_sync_gmsl ESC exit issue on orin …
3Ddaiwei Oct 14, 2024
b2a8b83
[example][fix]:fix ob_multi_devices_sync_gmsl ESC exit issue on orin …
3Ddaiwei Oct 14, 2024
ea55fe5
Resolve the issue of incomplete stream closure after device disconnec…
hzcyf Oct 14, 2024
adbba3e
Fix AignImpl class not re-initializing after input parameter changes
hzcyf Oct 15, 2024
a750893
Update stream state after start stream failed.
hzcyf Oct 15, 2024
56a0420
New timestamping scheme for Femto Mega with firmware version v1.3.0.
hzcyf Oct 15, 2024
9bcef1e
Fix wrong timestamp of ColorSensor non-MJPG data frame in Mega v2.3.0…
hzcyf Oct 15, 2024
ee7f230
Update version number to v2.0.15
hzcyf Oct 15, 2024
24abf0c
Update firmwareupdater lib for linux x86.
hzcyf Oct 15, 2024
0336373
Update extensions lib for arm64
Oct 15, 2024
766b5d0
update priv filter lib for linux x86.
hzcyf Oct 15, 2024
4f0804e
Refactor getStreamProfile
Oct 15, 2024
e4474de
Merge branch 'fixe_stream_profile' into 'develop'
hzcyf Oct 15, 2024
be16083
Update extensions lib for win x64.
hzcyf Oct 15, 2024
9e027d6
Add code to circumvent HDR Merge failure when using PayloadHeder to p…
hzcyf Oct 15, 2024
da0f126
Correct the typo in the femto mega firmware version.
hzcyf Oct 16, 2024
04f7682
[example][fix]:fix build_examples.sh copy to cmake install --prefix
3Ddaiwei Oct 16, 2024
47c4aa7
Mark stream deactivated after stream start failed.
hzcyf Oct 15, 2024
42c1b80
Switch VideoSensor’s frame processing to asynchronous to boost perfor…
hzcyf Oct 16, 2024
c9f4e04
Correct the Laser Power calculation error in G330 when using PayloadH…
hzcyf Oct 16, 2024
653b3c8
Fix dylib suffix error on macos
cool-wuzh Oct 16, 2024
fdceed5
Add firmware version output to log when device create.
hzcyf Oct 16, 2024
2d8f32e
[example][add]:add gmsl2 device check.
3Ddaiwei Oct 16, 2024
f2e85b9
Fix the IR sensor extrinsics error of the Tof device.
hzcyf Oct 16, 2024
e0abce5
Update the conversion format from RGBA and BGRA to BGR in utils_opencv.
hzcyf Oct 16, 2024
d056706
Optimize the streamProfile lookup logic in hardware D2CSample to reso…
hzcyf Oct 16, 2024
bb87f91
Set RPATH for Linux systems to ensure installed sample executables ca…
Oct 16, 2024
84840ef
Update version number to v2.0.16
Oct 16, 2024
dcf7a9c
Fix hw d2c enable status of hw_d2c_align sample.
hzcyf Oct 16, 2024
edc2cb8
Adjust macos build shell
cool-wuzh Oct 17, 2024
893bea3
Fix the problem of not being able to find the device through the UID …
hzcyf Oct 17, 2024
784fa36
Fix build_examples scripts for low cmake version.
hzcyf Oct 17, 2024
9195b7e
[example][opt]:opt ob_multi_devices_sync_gmsl ESC exit issue on orin.
3Ddaiwei Oct 17, 2024
bb35327
Repair the issue of incorrect log printing in SensorType within Senso…
hzcyf Oct 18, 2024
85984e7
Fix the crash issue in format parsing under special circumstances on …
hzcyf Oct 18, 2024
1b4cc3e
Add performance tuning documenation.
hzcyf Oct 18, 2024
3002dd9
Fix mapping of interface ob_device_info_connection_type
Oct 18, 2024
544abab
Update macos platform frame process library
cool-wuzh Oct 18, 2024
abd415f
Update library version to 2.0.17
cool-wuzh Oct 18, 2024
b84ebec
Update extensions lib for win x64
hzcyf Oct 18, 2024
e68a60e
Update extensions lib for linux x86
hzcyf Oct 18, 2024
b759329
Update extensions files in Arm64
Oct 18, 2024
ea24fcd
Update version number to 2.0.18
Oct 19, 2024
e24f536
Update extensions files in Linux_x86_64
Oct 19, 2024
3d23359
Update extensions lib for linux arm64
Oct 19, 2024
6dcf55e
Update extensions lib for win x64
hzcyf Oct 19, 2024
4fec857
Update priv filter lib for win x64
hzcyf Oct 19, 2024
3a50d26
README and Orbbec Viewer User Guide link to the new tutorial path.
hzcyf Oct 21, 2024
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
  •  
  •  
  •  
89 changes: 89 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
Language: Cpp
BasedOnStyle: Google
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignEscapedNewlinesLeft: true
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: true
BeforeElse: true
IndentBraces: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 160
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 200
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: false
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Never
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeRangeBasedForLoopColon: false
Standard: Cpp11
TabWidth: 4
UseTab: Never
177 changes: 177 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# Generated from CLion Inspection settings
---
Checks: '-*,
bugprone-argument-comment,
bugprone-assert-side-effect,
bugprone-bad-signal-to-kill-thread,
bugprone-branch-clone,
bugprone-copy-constructor-init,
bugprone-dangling-handle,
bugprone-dynamic-static-initializers,
bugprone-fold-init-type,
bugprone-forward-declaration-namespace,
bugprone-forwarding-reference-overload,
bugprone-inaccurate-erase,
bugprone-incorrect-roundings,
bugprone-integer-division,
bugprone-lambda-function-name,
bugprone-macro-parentheses,
bugprone-macro-repeated-side-effects,
bugprone-misplaced-operator-in-strlen-in-alloc,
bugprone-misplaced-pointer-arithmetic-in-alloc,
bugprone-misplaced-widening-cast,
bugprone-move-forwarding-reference,
bugprone-multiple-statement-macro,
bugprone-no-escape,
bugprone-parent-virtual-call,
bugprone-posix-return,
bugprone-reserved-identifier,
bugprone-sizeof-container,
bugprone-sizeof-expression,
bugprone-spuriously-wake-up-functions,
bugprone-string-constructor,
bugprone-string-integer-assignment,
bugprone-string-literal-with-embedded-nul,
bugprone-suspicious-enum-usage,
bugprone-suspicious-include,
bugprone-suspicious-memset-usage,
bugprone-suspicious-missing-comma,
bugprone-suspicious-semicolon,
bugprone-suspicious-string-compare,
bugprone-suspicious-memory-comparison,
bugprone-suspicious-realloc-usage,
bugprone-swapped-arguments,
bugprone-terminating-continue,
bugprone-throw-keyword-missing,
bugprone-too-small-loop-variable,
bugprone-undefined-memory-manipulation,
bugprone-undelegated-constructor,
bugprone-unhandled-self-assignment,
bugprone-unused-raii,
bugprone-unused-return-value,
bugprone-use-after-move,
bugprone-virtual-near-miss,
cert-dcl21-cpp,
cert-dcl58-cpp,
cert-err34-c,
cert-err52-cpp,
cert-err60-cpp,
cert-flp30-c,
cert-msc50-cpp,
cert-msc51-cpp,
cert-str34-c,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-narrowing-conversions,
cppcoreguidelines-pro-type-member-init,
cppcoreguidelines-pro-type-static-cast-downcast,
cppcoreguidelines-avoid-capturing-lambda-coroutines,
cppcoreguidelines-avoid-const-or-ref-data-members,
cppcoreguidelines-avoid-do-while,
cppcoreguidelines-avoid-goto,
cppcoreguidelines-avoid-non-const-global-variables,
cppcoreguidelines-avoid-reference-coroutine-parameters,
cppcoreguidelines-init-variables,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-macro-usage,
cppcoreguidelines-misleading-capture-default-by-value,
cppcoreguidelines-missing-std-forward,
cppcoreguidelines-narrowing-conversions,
cppcoreguidelines-no-malloc,
cppcoreguidelines-no-suspend-with-lock,
cppcoreguidelines-owning-memory,
cppcoreguidelines-prefer-member-initializer,
cppcoreguidelines-pro-bounds-array-to-pointer-decay,
cppcoreguidelines-pro-bounds-constant-array-index,
cppcoreguidelines-pro-bounds-pointer-arithmetic,
cppcoreguidelines-pro-type-const-cast,
cppcoreguidelines-pro-type-cstyle-cast,
cppcoreguidelines-pro-type-member-init,
cppcoreguidelines-pro-type-reinterpret-cast,
cppcoreguidelines-pro-type-static-cast-downcast,
cppcoreguidelines-pro-type-union-access,
cppcoreguidelines-pro-type-vararg,
cppcoreguidelines-rvalue-reference-param-not-moved,
cppcoreguidelines-special-member-functions,
cppcoreguidelines-virtual-class-destructor,
cppcoreguidelines-slicing,
google-default-arguments,
google-explicit-constructor,
google-runtime-operator,
hicpp-exception-baseclass,
hicpp-multiway-paths-covered,
misc-misplaced-const,
misc-new-delete-overloads,
misc-no-recursion,
misc-non-copyable-objects,
misc-throw-by-value-catch-by-reference,
misc-unconventional-assign-operator,
misc-uniqueptr-reset-release,
modernize-avoid-bind,
modernize-concat-nested-namespaces,
modernize-deprecated-headers,
modernize-deprecated-ios-base-aliases,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-pass-by-value,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
modernize-replace-disallow-copy-and-assign-macro,
modernize-replace-random-shuffle,
modernize-return-braced-init-list,
modernize-shrink-to-fit,
modernize-unary-static-assert,
modernize-use-auto,
modernize-use-bool-literals,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
modernize-use-nodiscard,
modernize-use-noexcept,
modernize-use-nullptr,
modernize-use-override,
modernize-use-transparent-functors,
modernize-use-uncaught-exceptions,
mpi-buffer-deref,
mpi-type-mismatch,
openmp-use-default-none,
performance-faster-string-find,
performance-for-range-copy,
performance-implicit-conversion-in-loop,
performance-inefficient-algorithm,
performance-inefficient-string-concatenation,
performance-inefficient-vector-operation,
performance-move-const-arg,
performance-move-constructor-init,
performance-no-automatic-move,
performance-noexcept-move-constructor,
performance-trivially-destructible,
performance-type-promotion-in-math-fn,
performance-unnecessary-copy-initialization,
performance-unnecessary-value-param,
portability-simd-intrinsics,
readability-avoid-const-params-in-decls,
readability-const-return-type,
readability-container-size-empty,
readability-convert-member-functions-to-static,
readability-delete-null-pointer,
readability-deleted-default,
readability-inconsistent-declaration-parameter-name,
readability-make-member-function-const,
readability-misleading-indentation,
readability-misplaced-array-index,
readability-non-const-parameter,
readability-redundant-control-flow,
readability-redundant-declaration,
readability-redundant-function-ptr-dereference,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-redundant-string-init,
readability-simplify-subscript-expr,
readability-static-accessed-through-instance,
readability-static-definition-in-anonymous-namespace,
readability-string-compare,
readability-uniqueptr-delete-release,
readability-use-anyofallof'
HeaderFilterRegex: '^(src|include)/.*'
97 changes: 97 additions & 0 deletions .cmake-format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# -----------------------------
# Options affecting formatting.
# -----------------------------
with section("format"):

# Disable formatting entirely, making cmake-format a no-op
disable = False

# How wide to allow formatted cmake files
line_width = 120

# How many spaces to tab for indent
tab_size = 4

# If true, lines are indented using tab characters (utf-8 0x09) instead of
# <tab_size> space characters (utf-8 0x20). In cases where the layout would
# require a fractional tab character, the behavior of the fractional
# indentation is governed by <fractional_tab_policy>
use_tabchars = False

# If <use_tabchars> is True, then the value of this variable indicates how
# fractional indentions are handled during whitespace replacement. If set to
# 'use-space', fractional indentation is left as spaces (utf-8 0x20). If set
# to `round-up` fractional indentation is replaced with a single tab character
# (utf-8 0x09) effectively shifting the column to the next tabstop
fractional_tab_policy = 'use-space'

# If an argument group contains more than this many sub-groups (parg or kwarg
# groups) then force it to a vertical layout.
max_subgroups_hwrap = 4

# If a positional argument group contains more than this many arguments, then
# force it to a vertical layout.
max_pargs_hwrap = 6

# If a cmdline positional group consumes more than this many lines without
# nesting, then invalidate the layout (and nest)
max_rows_cmdline = 2

# If true, separate flow control names from their parentheses with a space
separate_ctrl_name_with_space = False

# If true, separate function names from parentheses with a space
separate_fn_name_with_space = False

# If a statement is wrapped to more than one line, than dangle the closing
# parenthesis on its own line.
dangle_parens = True

# If the trailing parenthesis must be 'dangled' on its on line, then align it
# to this reference: `prefix`: the start of the statement, `prefix-indent`:
# the start of the statement, plus one indentation level, `child`: align to
# the column of the arguments
dangle_align = 'prefix'

# If the statement spelling length (including space and parenthesis) is
# smaller than this amount, then force reject nested layouts.
min_prefix_chars = 4

# If the statement spelling length (including space and parenthesis) is larger
# than the tab width by more than this amount, then force reject un-nested
# layouts.
max_prefix_chars = 10

# If a candidate layout is wrapped horizontally but it exceeds this many
# lines, then reject the layout.
max_lines_hwrap = 2

# What style line endings to use in the output.
line_ending = 'unix'

# Format command names consistently as 'lower' or 'upper' case
command_case = 'canonical'

# Format keywords consistently as 'lower' or 'upper' case
keyword_case = 'unchanged'

# A list of command names which should always be wrapped
always_wrap = []

# If true, the argument lists which are known to be sortable will be sorted
# lexicographicall
enable_sort = True

# If true, the parsers may infer whether or not an argument list is sortable
# (without annotation).
autosort = False

# By default, if cmake-format cannot successfully fit everything into the
# desired linewidth it will apply the last, most agressive attempt that it
# made. If this flag is True, however, cmake-format will print error, exit
# with non-zero status code, and write-out nothing
require_valid_layout = False

# A dictionary mapping layout nodes to a list of wrap decisions. See the
# documentation for more information.
layout_passes = {}
Loading