You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
434 lines
31 KiB
434 lines
31 KiB
#pragma once
|
|
#include <memory>
|
|
#include "organizer/organizer.hpp"
|
|
#include "organizer/primitive.hpp"
|
|
#include "organizer/blobtree.hpp"
|
|
|
|
#include "uvector.hpp"
|
|
|
|
using namespace algoim::organizer;
|
|
using namespace algoim;
|
|
|
|
void casePolyhedronTilted()
|
|
{
|
|
const int PRIMITIVE_CNT = 2;
|
|
std::vector<std::shared_ptr<PrimitiveDesc>> primitiveDescriptions(PRIMITIVE_CNT);
|
|
primitiveDescriptions[0] = std::make_shared<MeshDesc>(MeshDesc(
|
|
{
|
|
uvector3{11748.40944836227, -4325.95442631630, 21549.59021205360},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21688.15427665911},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21256.03391230463},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21117.46984769912},
|
|
uvector3{13547.89202684581, -6100.00000002560, 20666.46170041069},
|
|
uvector3{13395.74126433313, -5950.00000002583, 20614.28430405553},
|
|
uvector3{13395.74126433326, -5950.00000002584, 20663.98975519961},
|
|
uvector3{13547.89202684630, -6100.00000002596, 20663.99725169609},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19886.27039878878},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20665.01632032316},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19747.70633418327},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20526.45225571764},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20663.99725169609},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17237.43714661155},
|
|
uvector3{17934.90567930174, -10425.00000002583, 18037.08203458280},
|
|
uvector3{17934.90567930176, -10425.00000002583, 18174.44161578225},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17374.79672781102},
|
|
uvector3{19322.21070997919, -10425.00000002583, 17374.79672780697},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17302.62794416358},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17164.06387955807},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16381.97836082562},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16367.57914427394},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16369.00059922656},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16225.84155693102},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16364.40562153653},
|
|
uvector3{17808.11337720760, -10300.00000002579, 18247.63498939708},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16433.95194745345},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16423.72661838442},
|
|
uvector3{20999.99999998906, -13446.76696661644, 16423.72670669148},
|
|
uvector3{20999.99999998906, -13446.76696661645, 16296.81283142860},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16363.20113813048},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16224.63707352497},
|
|
uvector3{20999.99999998706, -11952.06910409846, 16420.97418585554},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16506.14320887944},
|
|
uvector3{19320.12419289630, -10300.00000002807, 17374.79672781104},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16420.97418585438},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16296.79580517310},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16423.72670669148},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19662.54917389031},
|
|
uvector3{13700.04278935896, -6250.00000002583, 20441.51096755456},
|
|
uvector3{13700.04278935883, -6250.00000002583, 20578.62965207288},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19799.66785840855},
|
|
uvector3{15051.93596280547, -6250.00000002583, 19799.66785840341},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19713.06531803178},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19574.50125342627},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18354.97979185655},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18269.68732516803},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18341.84605681460},
|
|
uvector3{17499.99999998906, -9996.24203115686, 18422.57258196454},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18421.38512481399},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18408.25138977354},
|
|
uvector3{15049.43214230555, -6100.00000002878, 19799.66785840858},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18408.25138977205},
|
|
uvector3{17681.32107511346, -10175.00000002584, 18239.32978475061},
|
|
uvector3{17681.32107511355, -10175.00000002583, 18181.05981500027},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18107.86644138542},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18239.33603183102},
|
|
uvector3{17499.99999998894, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17624.99999998906, -10119.47506456613, 18343.54697073095},
|
|
uvector3{17624.99999998905, -10119.47506456613, 18213.03724286152},
|
|
uvector3{17808.11337720775, -10300.00000002602, 18239.33603183102},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17446.96551146108},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18337.27720391787},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18350.41385031648},
|
|
uvector3{17624.99999998906, -10105.75355350319, 18351.46908880798},
|
|
uvector3{17513.64524135624, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17808.11337720776, -10175.00000002583, 18246.43050599092},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17308.40144685557},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18198.71313931236},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18211.84978571097},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21549.59021205360},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21688.15427665911},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21256.03391230463},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21117.46984769912},
|
|
uvector3{13547.89202684581, -6100.00000002560, 20666.46170041069},
|
|
uvector3{13395.74126433313, -5950.00000002583, 20614.28430405553},
|
|
uvector3{13395.74126433326, -5950.00000002584, 20663.98975519961},
|
|
uvector3{13547.89202684630, -6100.00000002596, 20663.99725169609},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19886.27039878878},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20665.01632032316},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19747.70633418327},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20526.45225571764},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20663.99725169609},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17237.43714661155},
|
|
uvector3{17934.90567930174, -10425.00000002583, 18037.08203458280},
|
|
uvector3{17934.90567930176, -10425.00000002583, 18174.44161578225},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17374.79672781102},
|
|
uvector3{19322.21070997919, -10425.00000002583, 17374.79672780697},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17302.62794416358},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17164.06387955807},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16381.97836082562},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16367.57914427394},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16369.00059922656},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16225.84155693102},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16364.40562153653},
|
|
uvector3{17808.11337720760, -10300.00000002579, 18247.63498939708},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16433.95194745345},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16423.72661838442},
|
|
uvector3{20999.99999998906, -13446.76696661644, 16423.72670669148},
|
|
uvector3{20999.99999998906, -13446.76696661645, 16296.81283142860},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16363.20113813048},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16224.63707352497},
|
|
uvector3{20999.99999998706, -11952.06910409846, 16420.97418585554},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16506.14320887944},
|
|
uvector3{19320.12419289630, -10300.00000002807, 17374.79672781104},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16420.97418585438},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16296.79580517310},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16423.72670669148},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19662.54917389031},
|
|
uvector3{13700.04278935896, -6250.00000002583, 20441.51096755456},
|
|
uvector3{13700.04278935883, -6250.00000002583, 20578.62965207288},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19799.66785840855},
|
|
uvector3{15051.93596280547, -6250.00000002583, 19799.66785840341},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19713.06531803178},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19574.50125342627},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18354.97979185655},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18269.68732516803},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18341.84605681460},
|
|
uvector3{17499.99999998906, -9996.24203115686, 18422.57258196454},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18421.38512481399},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18408.25138977354},
|
|
uvector3{15049.43214230555, -6100.00000002878, 19799.66785840858},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18408.25138977205},
|
|
uvector3{17681.32107511346, -10175.00000002584, 18239.32978475061},
|
|
uvector3{17681.32107511355, -10175.00000002583, 18181.05981500027},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18107.86644138542},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18239.33603183102},
|
|
uvector3{17499.99999998894, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17624.99999998906, -10119.47506456613, 18343.54697073095},
|
|
uvector3{17624.99999998905, -10119.47506456613, 18213.03724286152},
|
|
uvector3{17808.11337720775, -10300.00000002602, 18239.33603183102},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17446.96551146108},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18337.27720391787},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18350.41385031648},
|
|
uvector3{17624.99999998906, -10105.75355350319, 18351.46908880798},
|
|
uvector3{17513.64524135624, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17808.11337720776, -10175.00000002583, 18246.43050599092},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17308.40144685557},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18198.71313931236},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18211.84978571097},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21549.59021205360},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21688.15427665911},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21256.03391230463},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21117.46984769912},
|
|
uvector3{13547.89202684581, -6100.00000002560, 20666.46170041069},
|
|
uvector3{13395.74126433313, -5950.00000002583, 20614.28430405553},
|
|
uvector3{13395.74126433326, -5950.00000002584, 20663.98975519961},
|
|
uvector3{13547.89202684630, -6100.00000002596, 20663.99725169609},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19886.27039878878},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20665.01632032316},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19747.70633418327},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20526.45225571764},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20663.99725169609},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17237.43714661155},
|
|
uvector3{17934.90567930174, -10425.00000002583, 18037.08203458280},
|
|
uvector3{17934.90567930176, -10425.00000002583, 18174.44161578225},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17374.79672781102},
|
|
uvector3{19322.21070997919, -10425.00000002583, 17374.79672780697},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17302.62794416358},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17164.06387955807},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16381.97836082562},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16367.57914427394},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16369.00059922656},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16225.84155693102},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16364.40562153653},
|
|
uvector3{17808.11337720760, -10300.00000002579, 18247.63498939708},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16433.95194745345},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16423.72661838442},
|
|
uvector3{20999.99999998906, -13446.76696661644, 16423.72670669148},
|
|
uvector3{20999.99999998906, -13446.76696661645, 16296.81283142860},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16363.20113813048},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16224.63707352497},
|
|
uvector3{20999.99999998706, -11952.06910409846, 16420.97418585554},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16506.14320887944},
|
|
uvector3{19320.12419289630, -10300.00000002807, 17374.79672781104},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16420.97418585438},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16296.79580517310},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16423.72670669148},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19662.54917389031},
|
|
uvector3{13700.04278935896, -6250.00000002583, 20441.51096755456},
|
|
uvector3{13700.04278935883, -6250.00000002583, 20578.62965207288},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19799.66785840855},
|
|
uvector3{15051.93596280547, -6250.00000002583, 19799.66785840341},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19713.06531803178},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19574.50125342627},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18354.97979185655},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18269.68732516803},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18341.84605681460},
|
|
uvector3{17499.99999998906, -9996.24203115686, 18422.57258196454},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18421.38512481399},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18408.25138977354},
|
|
uvector3{15049.43214230555, -6100.00000002878, 19799.66785840858},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18408.25138977205},
|
|
uvector3{17681.32107511346, -10175.00000002584, 18239.32978475061},
|
|
uvector3{17681.32107511355, -10175.00000002583, 18181.05981500027},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18107.86644138542},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18239.33603183102},
|
|
uvector3{17499.99999998894, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17624.99999998906, -10119.47506456613, 18343.54697073095},
|
|
uvector3{17624.99999998905, -10119.47506456613, 18213.03724286152},
|
|
uvector3{17808.11337720775, -10300.00000002602, 18239.33603183102},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17446.96551146108},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18337.27720391787},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18350.41385031648},
|
|
uvector3{17624.99999998906, -10105.75355350319, 18351.46908880798},
|
|
uvector3{17513.64524135624, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17808.11337720776, -10175.00000002583, 18246.43050599092},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17308.40144685557},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18198.71313931236},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18211.84978571097},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21549.59021205360},
|
|
uvector3{11748.40944836227, -4325.95442631630, 21688.15427665911},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21256.03391230463},
|
|
uvector3{12484.47483358811, -3577.50000026381, 21117.46984769912},
|
|
uvector3{13547.89202684581, -6100.00000002560, 20666.46170041069},
|
|
uvector3{13395.74126433313, -5950.00000002583, 20614.28430405553},
|
|
uvector3{13395.74126433326, -5950.00000002584, 20663.98975519961},
|
|
uvector3{13547.89202684630, -6100.00000002596, 20663.99725169609},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19886.27039878878},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20665.01632032316},
|
|
uvector3{14896.90742621000, -5950.00000002583, 19747.70633418327},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20526.45225571764},
|
|
uvector3{13547.89202684630, -5950.00000002583, 20663.99725169609},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17237.43714661155},
|
|
uvector3{17934.90567930174, -10425.00000002583, 18037.08203458280},
|
|
uvector3{17934.90567930176, -10425.00000002583, 18174.44161578225},
|
|
uvector3{19320.12419289630, -10425.00000002583, 17374.79672781102},
|
|
uvector3{19322.21070997919, -10425.00000002583, 17374.79672780697},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17302.62794416358},
|
|
uvector3{19447.22812297115, -10425.00000002583, 17164.06387955807},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16381.97836082562},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16367.57914427394},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16369.00059922656},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16225.84155693102},
|
|
uvector3{21124.99999998917, -13570.00000002583, 16364.40562153653},
|
|
uvector3{17808.11337720760, -10300.00000002579, 18247.63498939708},
|
|
uvector3{20849.99999998906, -13298.88732652532, 16433.95194745345},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20998.20769789509, -13445.00000002584, 16423.72661838442},
|
|
uvector3{20999.99999998906, -13446.76696661644, 16423.72670669148},
|
|
uvector3{20999.99999998906, -13446.76696661645, 16296.81283142860},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16363.20113813048},
|
|
uvector3{21124.99999998918, -13445.00000002584, 16224.63707352497},
|
|
uvector3{20999.99999998706, -11952.06910409846, 16420.97418585554},
|
|
uvector3{20849.99999998906, -11804.55202899014, 16506.14320887944},
|
|
uvector3{19320.12419289630, -10300.00000002807, 17374.79672781104},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16435.35986977861},
|
|
uvector3{20849.99999998906, -11952.06910409846, 16420.97418585438},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16296.79580517310},
|
|
uvector3{20999.99999998906, -13445.00000002584, 16423.72670669148},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19662.54917389031},
|
|
uvector3{13700.04278935896, -6250.00000002583, 20441.51096755456},
|
|
uvector3{13700.04278935883, -6250.00000002583, 20578.62965207288},
|
|
uvector3{15049.43214230555, -6250.00000002583, 19799.66785840855},
|
|
uvector3{15051.93596280547, -6250.00000002583, 19799.66785840341},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19713.06531803178},
|
|
uvector3{15201.95685839510, -6250.00000002583, 19574.50125342627},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18354.97979185655},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18269.68732516803},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18341.84605681460},
|
|
uvector3{17499.99999998906, -9996.24203115686, 18422.57258196454},
|
|
uvector3{17374.99999998906, -9873.00899774759, 18421.38512481399},
|
|
uvector3{17499.99999998647, -8510.00401819123, 18408.25138977354},
|
|
uvector3{15049.43214230555, -6100.00000002878, 19799.66785840858},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18408.25138977205},
|
|
uvector3{17681.32107511346, -10175.00000002584, 18239.32978475061},
|
|
uvector3{17681.32107511355, -10175.00000002583, 18181.05981500027},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18107.86644138542},
|
|
uvector3{17808.11337720775, -10175.00000002583, 18239.33603183102},
|
|
uvector3{17499.99999998894, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17624.99999998906, -10119.47506456613, 18343.54697073095},
|
|
uvector3{17624.99999998905, -10119.47506456613, 18213.03724286152},
|
|
uvector3{17808.11337720775, -10300.00000002602, 18239.33603183102},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17446.96551146108},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18337.27720391787},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18350.41385031648},
|
|
uvector3{17624.99999998906, -10105.75355350319, 18351.46908880798},
|
|
uvector3{17513.64524135624, -9996.24203115674, 18414.69559548384},
|
|
uvector3{17808.11337720776, -10175.00000002583, 18246.43050599092},
|
|
uvector3{19193.02026281690, -10175.00000002583, 17308.40144685557},
|
|
uvector3{17624.99999998905, -8632.93491411901, 18198.71313931236},
|
|
uvector3{17624.99999998906, -9996.24203115674, 18211.84978571097}
|
|
},
|
|
{0, 1, 2, 3, 4, 1, 0, 5, 6, 7, 8, 2, 1, 4, 9, 3, 2, 8, 10, 11, 10, 8, 9,
|
|
12, 6, 5, 11, 12, 11, 5, 0, 3, 10, 7, 6, 12, 9, 4, 7, 12, 85, 86, 87, 88, 89, 90,
|
|
91, 92, 86, 85, 91, 93, 94, 95, 96, 97, 87, 86, 92, 98, 99, 100, 101, 102, 103, 96, 95, 104, 105,
|
|
106, 90, 89, 107, 97, 96, 103, 108, 109, 106, 105, 99, 98, 109, 105, 108, 98, 92, 94, 93, 106, 109, 90,
|
|
106, 93, 91, 108, 103, 104, 110, 111, 100, 99, 95, 102, 110, 104, 110, 102, 101, 111, 101, 100, 111, 107, 89,
|
|
88, 87, 97, 107, 88, 184, 185, 186, 187, 188, 189, 190, 191, 185, 184, 190, 192, 193, 194, 148, 186, 185, 191,
|
|
195, 196, 189, 188, 197, 148, 194, 189, 196, 192, 190, 193, 192, 196, 198, 195, 191, 193, 198, 196, 194, 195, 198,
|
|
197, 188, 187, 186, 148, 197, 187, 271, 272, 273, 274, 241, 266, 275, 276, 277, 272, 271, 278, 279, 280, 281, 282,
|
|
283, 266, 241, 284, 280, 279, 285, 286, 273, 285, 279, 284, 274, 273, 272, 277, 287, 286, 285, 287, 277, 276, 282,
|
|
281, 280, 286, 276, 275, 283, 282, 266, 283, 275, 284, 241, 278, 274, 278, 271, 274},
|
|
{uvector2i{0, 4}, uvector2i{4, 6}, uvector2i{10, 5}, uvector2i{15, 4}, uvector2i{19, 5}, uvector2i{24, 4},
|
|
uvector2i{28, 5}, uvector2i{33, 3}, uvector2i{36, 4}, uvector2i{40, 7}, uvector2i{47, 6}, uvector2i{53, 11},
|
|
uvector2i{64, 4}, uvector2i{68, 9}, uvector2i{77, 3}, uvector2i{80, 5}, uvector2i{85, 6}, uvector2i{91, 4},
|
|
uvector2i{95, 7}, uvector2i{102, 4}, uvector2i{106, 4}, uvector2i{110, 3}, uvector2i{113, 3}, uvector2i{116, 4},
|
|
uvector2i{120, 7}, uvector2i{127, 6}, uvector2i{133, 6}, uvector2i{139, 6}, uvector2i{145, 4}, uvector2i{149, 4},
|
|
uvector2i{153, 4}, uvector2i{157, 4}, uvector2i{161, 3}, uvector2i{164, 4}, uvector2i{168, 4}, uvector2i{172, 8},
|
|
uvector2i{180, 8}, uvector2i{188, 4}, uvector2i{192, 5}, uvector2i{197, 6}, uvector2i{203, 7}, uvector2i{210, 4},
|
|
uvector2i{214, 3}, uvector2i{217, 4}, uvector2i{221, 3}}));
|
|
primitiveDescriptions[1] = std::make_shared<MeshDesc>(MeshDesc(
|
|
{
|
|
uvector3{17624.99999998905, -8510.00401819123, 17830.90112057791},
|
|
uvector3{17374.99999998905, -8510.00401819123, 17830.90112057791},
|
|
uvector3{17374.99999998905, -8510.00401819123, 18408.25138976753},
|
|
uvector3{17624.99999998905, -8510.00401819123, 18408.25138976753},
|
|
uvector3{17624.99999998906, -3577.50000024273, 20678.68364311939},
|
|
uvector3{17374.99999998906, -3577.50000024273, 20678.68364311939},
|
|
uvector3{17374.99999998906, -3577.50000024273, 21256.03391230901},
|
|
uvector3{17624.99999998906, -3577.50000024273, 21256.03391230901}
|
|
},
|
|
{0, 1, 2, 3, 0, 1, 5, 4, 1, 2, 6, 5, 2, 3, 7, 6, 3, 0, 4, 7, 4, 5, 6, 7},
|
|
{uvector2i{0, 4}, uvector2i{4, 4}, uvector2i{8, 4}, uvector2i{12, 4}, uvector2i{16, 4}, uvector2i{20, 4}}));
|
|
organizer::BlobTree blobTree;
|
|
blobTree.structure.resize(PRIMITIVE_CNT * 2 - 1);
|
|
blobTree.primitiveNodeIdx.resize(PRIMITIVE_CNT);
|
|
blobTree.structure[0] = {1, 0, 0, 0, 1, 2};
|
|
blobTree.structure[1] = {1, 0, 0, 0, 0, 0};
|
|
blobTree.structure[2] = {0, OP_DIFFERENCE, 0, 0, 1, 6 - 2};
|
|
blobTree.primitiveNodeIdx = {0, 1};
|
|
quadratureScene(primitiveDescriptions, uvector3(10000, -20000, 10000), uvector3(25000, -1000, 25000), blobTree);
|
|
}
|
|
|
|
void casePolyhedronDifFace()
|
|
{
|
|
const int PRIMITIVE_CNT = 2;
|
|
std::vector<std::shared_ptr<PrimitiveDesc>> primitiveDescriptions(PRIMITIVE_CNT);
|
|
primitiveDescriptions[1] = std::make_shared<HalfPlaneDesc>(HalfPlaneDesc({
|
|
uvector3{4543.06080677052, -3903.14378907895, 5000.00000000000},
|
|
uvector3{4543.06080677052, -6019.09878238160, 5000.00000000000},
|
|
uvector3{1879.87607382063, -6019.09878238160, 1000.00000000000},
|
|
uvector3{1879.87607382063, -3903.14378907895, 1000.00000000000}
|
|
}));
|
|
primitiveDescriptions[0] = std::make_shared<MeshDesc>(MeshDesc(
|
|
{
|
|
uvector3{2594.16907620245, -4314.08525101657, 3773.59344941283},
|
|
uvector3{2594.16907620245, -4314.08525101657, 3573.59344941283},
|
|
uvector3{2594.16907620245, -5754.08525101657, 3573.59344941283},
|
|
uvector3{2594.16907620245, -5754.08525101657, 3773.59344941283},
|
|
uvector3{3726.28373273492, -4314.08525101657, 3773.59344941283},
|
|
uvector3{3593.12449608742, -4314.08525101657, 3573.59344941283},
|
|
uvector3{3726.28373273492, -5754.08525101657, 3773.59344941283},
|
|
uvector3{3593.12449608742, -5754.08525101657, 3573.59344941283}
|
|
},
|
|
{0, 1, 2, 3, 1, 0, 4, 5, 0, 3, 6, 4, 3, 2, 7, 6, 2, 1, 5, 7, 6, 7, 5, 4},
|
|
{uvector2i{0, 4}, uvector2i{4, 4}, uvector2i{8, 4}, uvector2i{12, 4}, uvector2i{16, 4}, uvector2i{20, 4}}));
|
|
organizer::BlobTree blobTree;
|
|
blobTree.structure.resize(PRIMITIVE_CNT * 2 - 1);
|
|
blobTree.primitiveNodeIdx.resize(PRIMITIVE_CNT);
|
|
blobTree.structure[0] = {1, 0, 0, 0, 1, 2};
|
|
blobTree.structure[1] = {1, 0, 0, 0, 0, 0};
|
|
blobTree.structure[2] = {0, OP_DIFFERENCE, 0, 0, 1, 6 - 2};
|
|
blobTree.primitiveNodeIdx = {0, 1};
|
|
quadratureScene(primitiveDescriptions, uvector3(1879, -6020, 1000), uvector3(4544, -3903, 5000), blobTree);
|
|
}
|
|
|
|
void casePolyDifPolyThickFace()
|
|
{
|
|
const int PRIMITIVE_CNT = 2;
|
|
std::vector<std::shared_ptr<PrimitiveDesc>> primitiveDescriptions(PRIMITIVE_CNT);
|
|
primitiveDescriptions[0] = std::make_shared<MeshDesc>(MeshDesc(
|
|
{
|
|
uvector3{2629.82969004962, 6801.21455575771, 49030.00000000000},
|
|
uvector3{2869.82968877607, 6801.18983125328, 49030.00000000000},
|
|
uvector3{2869.82968877607, 6801.18983125328, 52180.00000000000},
|
|
uvector3{2629.82969004962, 6801.21455575771, 52180.00000000000},
|
|
uvector3{2870.01294237553, 8580.02684557581, 49030.00000000000},
|
|
uvector3{2629.98821659743, 8340.02684557581, 49030.00000000000},
|
|
uvector3{1939.99863941572, 8340.02684557581, 49030.00000000000},
|
|
uvector3{1939.99863941572, 8580.02684557581, 49030.00000000000},
|
|
uvector3{2629.98821659743, 8340.02684557581, 52180.00000000000},
|
|
uvector3{1939.99863941572, 8340.02684557581, 52180.00000000000},
|
|
uvector3{2870.01294237553, 8580.02684557581, 52180.00000000000},
|
|
uvector3{1939.99863941572, 8580.02684557581, 52180.00000000000}
|
|
},
|
|
{0, 1, 2, 3, 4, 1, 0, 5, 6, 7, 6, 5, 8, 9, 5, 0, 3, 8, 8, 3, 2, 10, 11, 9, 1, 4, 10, 2, 4, 7, 11, 10, 7, 6, 9, 11},
|
|
{uvector2i{0, 4}, uvector2i{4, 6}, uvector2i{10, 4}, uvector2i{14, 4}, uvector2i{18, 6}, uvector2i{24, 4},
|
|
uvector2i{28, 4}, uvector2i{32, 4}}));
|
|
primitiveDescriptions[1] = std::make_shared<MeshDesc>(MeshDesc(
|
|
{
|
|
uvector3{2629.99453728099, 8340.01156816906, 52180.00000000000},
|
|
uvector3{2869.99453728099, 8340.01156816906, 52180.00000000000},
|
|
uvector3{2869.99453728099, 8401.36916293070, 52180.00000000000},
|
|
uvector3{2869.99453728099, 8580.01156816906, 52180.00000000000},
|
|
uvector3{2629.99453728099, 8580.01156816906, 52180.00000000000},
|
|
uvector3{2629.99453728099, 8340.02684557581, 52180.00000000000},
|
|
uvector3{2629.99453728099, 8340.01156816906, 49030.00000000000},
|
|
uvector3{2869.99453728099, 8340.01156816906, 49030.00000000000},
|
|
uvector3{2869.99453728099, 8401.36916293070, 49030.00000000000},
|
|
uvector3{2869.99453728099, 8580.01156816906, 49030.00000000000},
|
|
uvector3{2629.99453728099, 8580.01156816906, 49030.00000000000}
|
|
},
|
|
{0, 1, 2, 3, 4, 5, 6, 7, 1, 0, 7, 8, 9, 3, 2, 1, 9, 10, 4, 3, 10, 6, 0, 5, 4, 6, 10, 9, 8, 7},
|
|
{uvector2i{0, 6}, uvector2i{6, 4}, uvector2i{10, 6}, uvector2i{16, 4}, uvector2i{20, 5}, uvector2i{25, 5}}));
|
|
organizer::BlobTree blobTree;
|
|
blobTree.structure.resize(PRIMITIVE_CNT * 2 - 1);
|
|
blobTree.primitiveNodeIdx.resize(PRIMITIVE_CNT);
|
|
blobTree.structure[0] = {1, 0, 0, 0, 1, 2};
|
|
blobTree.structure[1] = {1, 0, 0, 0, 0, 0};
|
|
blobTree.structure[2] = {0, OP_DIFFERENCE, 0, 0, 1, 6 - 2};
|
|
blobTree.primitiveNodeIdx = {0, 1};
|
|
quadratureScene(primitiveDescriptions, uvector3(1939, 6801, 49030), uvector3(2871, 8581, 52180), blobTree);
|
|
}
|
|
|
|
void testPM()
|
|
{
|
|
// casePolyhedronDifFace();
|
|
// casePolyhedronTilted();
|
|
casePolyDifPolyThickFace();
|
|
}
|