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

Implement facelist property #237

Open
wants to merge 31 commits into
base: main
Choose a base branch
from
Open

Implement facelist property #237

wants to merge 31 commits into from

Conversation

pasbi
Copy link
Owner

@pasbi pasbi commented Mar 11, 2022

No description provided.

@pasbi pasbi force-pushed the implement-facelist-property branch from d7189e4 to 4e8cb3a Compare March 13, 2022 22:23
Pascal Bies added 15 commits March 30, 2022 23:45
# Conflicts:
#	src/properties/splineproperty.cpp
#	src/properties/splineproperty.h
#	src/serializers/abstractserializer.h
#	src/serializers/jsonserializer.cpp
#	src/serializers/jsonserializer.h
That requires some re-implementation of QPainterPath features, like
`constains`.
The usage of `QPainterPath::operator-` has been replaced by
`Face::operator^` because it's easier to implement and gives the same
result if one path contains the other.
# Conflicts:
#	src/path/face.cpp
#	src/path/face.h
#	src/properties/CMakeLists.txt
#	src/properties/splineproperty.cpp
#	src/propertytypeenum.h
#	src/renderers/offscreenrenderer.cpp
#	src/variant.h
@pasbi pasbi force-pushed the implement-facelist-property branch from 4c3284c to c53cce5 Compare April 1, 2022 19:48
@pasbi pasbi added bug Something isn't working geometry related to geometry, graphs, faces, points, edges, etc. and removed bug Something isn't working geometry related to geometry, graphs, faces, points, edges, etc. labels Apr 2, 2022
Pascal Bies added 7 commits April 7, 2022 16:24
Face operator^ is principally impossible to implement because
edges don't have an identity (there might be multiple indistinguishable
edges between two points).

Therefore, PathVector::faces is simpler now. It's still not correct,
but the (now removed) complicated implementation (employing operator^)
wouldn't make it better.
Simple and wrong is better than complicated and wrong.

Fixing it properly probably requires a complete change of paradigms
(i.e., identifiable edges)
That's going to be fixed on another branch `edge-identity`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant