virtualx-engine/core
Andrii Doroshenko (Xrayez) 883ef8570a Expose 2D polygon boolean operations in Geometry singleton
Clipper 6.4.2 is used internally to perform polypaths clipping, as well
as inflating/deflating polypaths. The following methods were added:

```
Geometry.merge_polygons_2d(poly_a, poly_b) # union
Geometry.clip_polygons_2d(poly_a, poly_b) # difference
Geometry.intersect_polygons_2d(poly_a, poly_b) # intersection
Geometry.exclude_polygons_2d(poly_a, poly_b) # xor

Geometry.clip_polyline_with_polygon_2d(poly_a, poly_b)
Geometry.intersect_polyline_with_polygon_2d(poly_a, poly_b)

Geometry.offset_polygon_2d(polygon, delta) # inflate/deflate
Geometry.offset_polyline_2d(polyline, delta) # returns polygons

// This one helps to implement CSG-like behaviour:
Geometry.transform_points_2d(points, transform)
```

All the methods return an array of polygons/polylines. The resulting
polygons could possibly be holes which could be checked with
`Geometry.is_polygon_clockwise()` which was exposed to scripting as well.
2019-05-22 17:12:39 +03:00
..
bind Expose 2D polygon boolean operations in Geometry singleton 2019-05-22 17:12:39 +03:00
io Merge pull request #29011 from zann1x/master 2019-05-21 10:07:26 +02:00
math Expose 2D polygon boolean operations in Geometry singleton 2019-05-22 17:12:39 +03:00
os added a const keyword for a methods that return constant literal... 2019-05-21 02:16:30 -04:00
array.cpp Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
array.h Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
class_db.cpp Add ability to edit editor feature profiles 2019-04-08 19:18:51 -03:00
class_db.h Add ability to edit editor feature profiles 2019-04-08 19:18:51 -03:00
color.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
color.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
color_names.inc Make core/ includes absolute, remove subfolders from include path 2018-09-12 09:52:22 +02:00
command_queue_mt.cpp Fix alignment and locking issues with CommandQueueMT 2019-02-16 04:00:19 +01:00
command_queue_mt.h Fix alignment and locking issues with CommandQueueMT 2019-02-16 04:00:19 +01:00
compressed_translation.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
compressed_translation.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
core_builders.py Allow system certs file to be used by Editor. 2018-09-15 14:45:54 +02:00
core_string_names.cpp Allow overriding how scripted objects are converted to strings 2019-05-03 15:06:05 -07:00
core_string_names.h Allow overriding how scripted objects are converted to strings 2019-05-03 15:06:05 -07:00
cowdata.h Repair String lstrip and rstrip. 2019-01-07 17:34:44 +00:00
dictionary.cpp Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
dictionary.h Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
engine.cpp Add hex-encoded version number to Engine singleton for easy comparisons 2019-02-17 13:38:52 +01:00
engine.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
error_list.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
error_macros.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
error_macros.h Fix typos with codespell 2019-05-19 13:10:35 +02:00
func_ref.cpp Added an is_valid function to FuncRef so script can check if it is safe to call it. 2019-04-29 23:38:42 +01:00
func_ref.h Added an is_valid function to FuncRef so script can check if it is safe to call it. 2019-04-29 23:38:42 +01:00
global_constants.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
global_constants.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
hash_map.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
hashfuncs.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
image.cpp Implement Lanczos image filter 2019-05-05 14:03:56 +02:00
image.h Implement Lanczos image filter 2019-05-05 14:03:56 +02:00
input_map.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
input_map.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
int_types.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
list.h Merge pull request #27676 from qarmin/small_fixes_2 2019-05-01 08:19:04 +02:00
make_binders.py C#: Generate the correct integer and floating point types 2019-04-27 01:30:46 +02:00
map.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
message_queue.cpp Change "ID" to lowercase "id" 2019-05-09 06:25:32 -04:00
message_queue.h Change "ID" to lowercase "id" 2019-05-09 06:25:32 -04:00
method_bind.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
method_bind.h C#: Generate the correct integer and floating point types 2019-04-27 01:30:46 +02:00
method_ptrcall.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
node_path.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
node_path.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
oa_hash_map.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
object.cpp Merge pull request #27886 from LeonardMeagher2/obj_to_string 2019-05-20 22:37:01 +02:00
object.h Merge pull request #27886 from LeonardMeagher2/obj_to_string 2019-05-20 22:37:01 +02:00
ordered_hash_map.h Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
packed_data_container.cpp Style: Apply new changes from clang-format 8.0 2019-04-09 17:09:48 +02:00
packed_data_container.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
pair.h Fix many asan and ubsan reported issues 2019-01-30 06:43:56 +01:00
path_remap.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
path_remap.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
pool_allocator.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
pool_allocator.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
pool_vector.cpp Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
pool_vector.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
print_string.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
print_string.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
project_settings.cpp Enable object decoding when serializing binary project settings 2019-04-15 15:30:54 +02:00
project_settings.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
ref_ptr.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
ref_ptr.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
reference.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
reference.h C#: Generate the correct integer and floating point types 2019-04-27 01:30:46 +02:00
register_core_types.cpp Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
register_core_types.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
resource.cpp No more metadata and dependency indices kept in resources saved. 2019-04-11 14:36:58 -03:00
resource.h No more metadata and dependency indices kept in resources saved. 2019-04-11 14:36:58 -03:00
rid.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
rid.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
ring_buffer.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
safe_refcount.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
safe_refcount.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
script_debugger_local.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
script_debugger_local.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
script_debugger_remote.cpp Revert accidental commits 2019-03-20 21:43:55 +01:00
script_debugger_remote.h Revert accidental commits 2019-03-20 21:43:55 +01:00
script_language.cpp Allow overriding how scripted objects are converted to strings 2019-05-03 15:06:05 -07:00
script_language.h Allow overriding how scripted objects are converted to strings 2019-05-03 15:06:05 -07:00
SCsub Build Clipper with tools=no and patch it to auto-disable exceptions 2019-05-22 13:12:21 +03:00
self_list.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
set.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
simple_type.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
sort_array.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
string_buffer.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
string_builder.cpp Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
string_builder.h Use StringBuilder in C# bindings generator 2019-04-19 02:11:39 +02:00
string_name.cpp Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
string_name.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
translation.cpp Locales: Add some missing locale names 2019-05-02 09:22:40 +02:00
translation.h Added TranslationServer::get_loaded_locales to return an array of all locales with a loaded Translation 2019-04-24 21:39:29 -04:00
type_info.h C#: Generate the correct integer and floating point types 2019-04-27 01:30:46 +02:00
typedefs.h Fix -Wimplicit-fallthrough warnings from GCC 8 2019-04-05 15:14:53 +02:00
ucaps.h Reorder reverse caps characters table for string lower case conversion 2019-04-05 11:10:15 +03:00
undo_redo.cpp Fix typos with codespell 2019-05-19 13:10:35 +02:00
undo_redo.h Fix typos with codespell 2019-05-19 13:10:35 +02:00
ustring.cpp Add ability to edit editor feature profiles 2019-04-08 19:18:51 -03:00
ustring.h Add ability to edit editor feature profiles 2019-04-08 19:18:51 -03:00
variant.cpp Merge pull request #27886 from LeonardMeagher2/obj_to_string 2019-05-20 22:37:01 +02:00
variant.h Don't crash on printing nested types 2019-04-20 02:01:55 +02:00
variant_call.cpp Add ability to edit editor feature profiles 2019-04-08 19:18:51 -03:00
variant_op.cpp Style: Apply new changes from clang-format 8.0 2019-04-09 17:09:48 +02:00
variant_parser.cpp Style: Apply new changes from clang-format 8.0 2019-04-09 17:09:48 +02:00
variant_parser.h Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
vector.h Core: Ensure classes match their header filename 2019-02-12 13:34:25 +01:00
version.h Add hex-encoded version number to Engine singleton for easy comparisons 2019-02-17 13:38:52 +01:00
vmap.h Replace a few #if/#elif with #ifdef and "#elif defined" 2019-04-05 23:41:51 +02:00
vset.h Replace a few #if/#elif with #ifdef and "#elif defined" 2019-04-05 23:41:51 +02:00