Compare commits

...

4 Commits

Author SHA1 Message Date
Thomas Krijnen d5d1b3567b Update draw.py --include-curves 2023-08-10 15:44:21 +08:00
Kristoffer Andersen 7827ce3448 Update build.sh
fix env var declaration
2023-08-10 08:22:07 +02:00
Kristoffer Andersen a05059db01 Update build.sh
Reduce number of schema versions
2023-08-10 08:06:38 +02:00
Thomas Krijnen b78490ca56 #3510 Sample points along diagonal as well for quick and dirty occlusion detection 2023-08-10 10:52:06 +08:00
3 changed files with 12 additions and 3 deletions
+2
View File
@@ -12,6 +12,8 @@ if [ `uname` == Darwin ]; then
export LDFLAGS="$LDFLAGS -Wl,-flat_namespace,-undefined,suppress"
fi
export SCHEMA_VERSIONS="2x3;4;4x3;4x3_add1"
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
@@ -60,6 +60,7 @@ class draw_settings:
merge_cells: bool = False
include_projection: bool = True
prefilter: bool = True
include_curves: bool = False
def main(settings, files, iterators=None, merge_projection=True, progress_function=DO_NOTHING):
@@ -68,6 +69,7 @@ def main(settings, files, iterators=None, merge_projection=True, progress_functi
# this is required for serialization
APPLY_DEFAULT_MATERIALS=True,
DISABLE_TRIANGULATION=True,
INCLUDE_CURVES=settings.include_curves,
# when not doing booleans, proper solids from shells isn't a requirement
SEW_SHELLS=settings.subtract_before_hlr,
)
+8 -3
View File
@@ -309,11 +309,16 @@ namespace {
}
} else {
gp_Pnt2d tmp;
for (int i = 0; i < 4; ++i) {
// 0,1,2,3 -> interp over bounding box edges (i%4, (i+1)%4)
// 4,5 -> interp over bounding box diagonals (i%4, (i+2)%4)
// @todo use boolean_utils.h points_on_planar_face_generator?
// ... or skip faces with inner bounds all together ?
// ... ?
for (int i = 0; i < 6; ++i) {
// @todo proper edge intersection
for (int j = 0; j < 16; ++j) {
const gp_Pnt2d& a = *loop[i];
const gp_Pnt2d& b = *loop[(i + 1) % 4];
const gp_Pnt2d& a = *loop[i % 4];
const gp_Pnt2d& b = *loop[(i + (i >= 4 ? 2 : 1)) % 4];
interp(a, b, j / 16.0, tmp);
if (fclass->Perform(tmp) == TopAbs_OUT) {
return false;