Changeset 6c438f for src/unittests/ShapeUnittest.cpp
- Timestamp:
- Aug 28, 2010, 3:21:11 AM (15 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- a6e6b5, f8982c
- Parents:
- 2ad482 (diff), fd4905 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - git-author:
- Frederik Heber <heber@…> (08/28/10 03:17:48)
- git-committer:
- Frederik Heber <heber@…> (08/28/10 03:21:11)
- File:
-
- 1 edited
-
src/unittests/ShapeUnittest.cpp (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/unittests/ShapeUnittest.cpp
r2ad482 r6c438f 1 /* 2 * Project: MoleCuilder 3 * Description: creates and alters molecular systems 4 * Copyright (C) 2010 University of Bonn. All rights reserved. 5 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details. 6 */ 7 1 8 /* 2 9 * ShapeUnittest.cpp … … 6 13 */ 7 14 15 // include config.h 16 #ifdef HAVE_CONFIG_H 17 #include <config.h> 18 #endif 19 8 20 #include "ShapeUnittest.hpp" 9 21 … … 12 24 #include <cppunit/ui/text/TestRunner.h> 13 25 26 #include <cmath> 27 14 28 #ifdef HAVE_TESTRUNNER 15 29 #include "UnitTestMain.hpp" 16 30 #endif /*HAVE_TESTRUNNER*/ 17 31 32 #include "LinearAlgebra/Vector.hpp" 18 33 #include "Shapes/Shape.hpp" 34 19 35 #include "Shapes/BaseShapes.hpp" 20 #include "vector.cpp"21 36 22 37 // Registers the fixture into the 'registry' … … 115 130 CPPUNIT_ASSERT(Everywhere().isInside(v222)); 116 131 117 CPPUNIT_ASSERT(Cuboid().isInside(v000)); 118 CPPUNIT_ASSERT(Cuboid().isInside(v100)); 119 CPPUNIT_ASSERT(Cuboid().isInside(v200)); 120 CPPUNIT_ASSERT(Cuboid().isInside(v010)); 121 CPPUNIT_ASSERT(Cuboid().isInside(v110)); 122 CPPUNIT_ASSERT(Cuboid().isInside(v210)); 123 CPPUNIT_ASSERT(Cuboid().isInside(v020)); 124 CPPUNIT_ASSERT(Cuboid().isInside(v120)); 125 CPPUNIT_ASSERT(Cuboid().isInside(v220)); 126 CPPUNIT_ASSERT(Cuboid().isInside(v001)); 127 CPPUNIT_ASSERT(Cuboid().isInside(v101)); 128 CPPUNIT_ASSERT(Cuboid().isInside(v201)); 129 CPPUNIT_ASSERT(Cuboid().isInside(v011)); 130 CPPUNIT_ASSERT(Cuboid().isInside(v111)); 131 CPPUNIT_ASSERT(Cuboid().isInside(v211)); 132 CPPUNIT_ASSERT(Cuboid().isInside(v021)); 133 CPPUNIT_ASSERT(Cuboid().isInside(v121)); 134 CPPUNIT_ASSERT(Cuboid().isInside(v221)); 135 CPPUNIT_ASSERT(Cuboid().isInside(v002)); 136 CPPUNIT_ASSERT(Cuboid().isInside(v102)); 137 CPPUNIT_ASSERT(Cuboid().isInside(v202)); 138 CPPUNIT_ASSERT(Cuboid().isInside(v012)); 139 CPPUNIT_ASSERT(Cuboid().isInside(v112)); 140 CPPUNIT_ASSERT(Cuboid().isInside(v212)); 141 CPPUNIT_ASSERT(Cuboid().isInside(v022)); 142 CPPUNIT_ASSERT(Cuboid().isInside(v122)); 143 CPPUNIT_ASSERT(Cuboid().isInside(v222)); 144 145 CPPUNIT_ASSERT(Sphere().isInside(v000)); 146 CPPUNIT_ASSERT(Sphere().isInside(v100)); 147 CPPUNIT_ASSERT(Sphere().isInside(v200)); 148 CPPUNIT_ASSERT(Sphere().isInside(v010)); 149 CPPUNIT_ASSERT(!Sphere().isInside(v110)); 150 CPPUNIT_ASSERT(!Sphere().isInside(v210)); 151 CPPUNIT_ASSERT(Sphere().isInside(v020)); 152 CPPUNIT_ASSERT(!Sphere().isInside(v120)); 153 CPPUNIT_ASSERT(!Sphere().isInside(v220)); 154 CPPUNIT_ASSERT(Sphere().isInside(v001)); 155 CPPUNIT_ASSERT(!Sphere().isInside(v101)); 156 CPPUNIT_ASSERT(!Sphere().isInside(v201)); 157 CPPUNIT_ASSERT(!Sphere().isInside(v011)); 158 CPPUNIT_ASSERT(!Sphere().isInside(v111)); 159 CPPUNIT_ASSERT(!Sphere().isInside(v211)); 160 CPPUNIT_ASSERT(!Sphere().isInside(v021)); 161 CPPUNIT_ASSERT(!Sphere().isInside(v121)); 162 CPPUNIT_ASSERT(!Sphere().isInside(v221)); 163 CPPUNIT_ASSERT(Sphere().isInside(v002)); 164 CPPUNIT_ASSERT(!Sphere().isInside(v102)); 165 CPPUNIT_ASSERT(!Sphere().isInside(v202)); 166 CPPUNIT_ASSERT(!Sphere().isInside(v012)); 167 CPPUNIT_ASSERT(!Sphere().isInside(v112)); 168 CPPUNIT_ASSERT(!Sphere().isInside(v212)); 169 CPPUNIT_ASSERT(!Sphere().isInside(v022)); 170 CPPUNIT_ASSERT(!Sphere().isInside(v122)); 171 CPPUNIT_ASSERT(!Sphere().isInside(v222)); 132 Shape s1 = Sphere(); 133 134 CPPUNIT_ASSERT(s1.isInside(v000)); 135 CPPUNIT_ASSERT(s1.isInside(v100)); 136 CPPUNIT_ASSERT(s1.isInside(v200)); 137 CPPUNIT_ASSERT(s1.isInside(v010)); 138 CPPUNIT_ASSERT(!s1.isInside(v110)); 139 CPPUNIT_ASSERT(!s1.isInside(v210)); 140 CPPUNIT_ASSERT(s1.isInside(v020)); 141 CPPUNIT_ASSERT(!s1.isInside(v120)); 142 CPPUNIT_ASSERT(!s1.isInside(v220)); 143 CPPUNIT_ASSERT(s1.isInside(v001)); 144 CPPUNIT_ASSERT(!s1.isInside(v101)); 145 CPPUNIT_ASSERT(!s1.isInside(v201)); 146 CPPUNIT_ASSERT(!s1.isInside(v011)); 147 CPPUNIT_ASSERT(!s1.isInside(v111)); 148 CPPUNIT_ASSERT(!s1.isInside(v211)); 149 CPPUNIT_ASSERT(!s1.isInside(v021)); 150 CPPUNIT_ASSERT(!s1.isInside(v121)); 151 CPPUNIT_ASSERT(!s1.isInside(v221)); 152 CPPUNIT_ASSERT(s1.isInside(v002)); 153 CPPUNIT_ASSERT(!s1.isInside(v102)); 154 CPPUNIT_ASSERT(!s1.isInside(v202)); 155 CPPUNIT_ASSERT(!s1.isInside(v012)); 156 CPPUNIT_ASSERT(!s1.isInside(v112)); 157 CPPUNIT_ASSERT(!s1.isInside(v212)); 158 CPPUNIT_ASSERT(!s1.isInside(v022)); 159 CPPUNIT_ASSERT(!s1.isInside(v122)); 160 CPPUNIT_ASSERT(!s1.isInside(v222)); 161 162 Shape s2 = Cuboid(); 163 164 CPPUNIT_ASSERT(s2.isInside(v000)); 165 CPPUNIT_ASSERT(s2.isInside(v100)); 166 CPPUNIT_ASSERT(!s2.isInside(v200)); 167 CPPUNIT_ASSERT(s2.isInside(v010)); 168 CPPUNIT_ASSERT(s2.isInside(v110)); 169 CPPUNIT_ASSERT(!s2.isInside(v210)); 170 CPPUNIT_ASSERT(!s2.isInside(v020)); 171 CPPUNIT_ASSERT(!s2.isInside(v120)); 172 CPPUNIT_ASSERT(!s2.isInside(v220)); 173 CPPUNIT_ASSERT(s2.isInside(v001)); 174 CPPUNIT_ASSERT(s2.isInside(v101)); 175 CPPUNIT_ASSERT(!s2.isInside(v201)); 176 CPPUNIT_ASSERT(s2.isInside(v011)); 177 CPPUNIT_ASSERT(s2.isInside(v111)); 178 CPPUNIT_ASSERT(!s2.isInside(v211)); 179 CPPUNIT_ASSERT(!s2.isInside(v021)); 180 CPPUNIT_ASSERT(!s2.isInside(v121)); 181 CPPUNIT_ASSERT(!s2.isInside(v221)); 182 CPPUNIT_ASSERT(!s2.isInside(v002)); 183 CPPUNIT_ASSERT(!s2.isInside(v102)); 184 CPPUNIT_ASSERT(!s2.isInside(v202)); 185 CPPUNIT_ASSERT(!s2.isInside(v012)); 186 CPPUNIT_ASSERT(!s2.isInside(v112)); 187 CPPUNIT_ASSERT(!s2.isInside(v212)); 188 CPPUNIT_ASSERT(!s2.isInside(v022)); 189 CPPUNIT_ASSERT(!s2.isInside(v122)); 190 CPPUNIT_ASSERT(!s2.isInside(v222)); 172 191 } 173 192 … … 201 220 CPPUNIT_ASSERT(!Nowhere().isOnSurface(v222)); 202 221 203 CPPUNIT_ASSERT( !Cuboid().isOnSurface(v000));222 CPPUNIT_ASSERT(Cuboid().isOnSurface(v000)); 204 223 CPPUNIT_ASSERT(Cuboid().isOnSurface(v100)); 205 CPPUNIT_ASSERT( Cuboid().isOnSurface(v200));224 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v200)); 206 225 CPPUNIT_ASSERT(Cuboid().isOnSurface(v010)); 207 226 CPPUNIT_ASSERT(Cuboid().isOnSurface(v110)); 208 CPPUNIT_ASSERT( Cuboid().isOnSurface(v210));209 CPPUNIT_ASSERT( Cuboid().isOnSurface(v020));210 CPPUNIT_ASSERT( Cuboid().isOnSurface(v120));211 CPPUNIT_ASSERT( Cuboid().isOnSurface(v220));227 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v210)); 228 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v020)); 229 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v120)); 230 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v220)); 212 231 CPPUNIT_ASSERT(Cuboid().isOnSurface(v001)); 213 232 CPPUNIT_ASSERT(Cuboid().isOnSurface(v101)); 214 CPPUNIT_ASSERT( Cuboid().isOnSurface(v201));233 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v201)); 215 234 CPPUNIT_ASSERT(Cuboid().isOnSurface(v011)); 216 235 CPPUNIT_ASSERT(Cuboid().isOnSurface(v111)); 217 CPPUNIT_ASSERT( Cuboid().isOnSurface(v211));218 CPPUNIT_ASSERT( Cuboid().isOnSurface(v021));219 CPPUNIT_ASSERT( Cuboid().isOnSurface(v121));220 CPPUNIT_ASSERT( Cuboid().isOnSurface(v221));221 CPPUNIT_ASSERT( Cuboid().isOnSurface(v002));222 CPPUNIT_ASSERT( Cuboid().isOnSurface(v102));223 CPPUNIT_ASSERT( Cuboid().isOnSurface(v202));224 CPPUNIT_ASSERT( Cuboid().isOnSurface(v012));225 CPPUNIT_ASSERT( Cuboid().isOnSurface(v112));226 CPPUNIT_ASSERT( Cuboid().isOnSurface(v212));227 CPPUNIT_ASSERT( Cuboid().isOnSurface(v022));228 CPPUNIT_ASSERT( Cuboid().isOnSurface(v122));229 CPPUNIT_ASSERT( Cuboid().isOnSurface(v222));236 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v211)); 237 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v021)); 238 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v121)); 239 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v221)); 240 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v002)); 241 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v102)); 242 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v202)); 243 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v012)); 244 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v112)); 245 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v212)); 246 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v022)); 247 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v122)); 248 CPPUNIT_ASSERT(!Cuboid().isOnSurface(v222)); 230 249 231 250 CPPUNIT_ASSERT(!Sphere().isOnSurface(v000)); … … 322 341 323 342 } 343 324 344 void ShapeUnittest::operatorTest(){ 325 345 { … … 504 524 505 525 { 506 Shape s1 = Sphere() && Cuboid(); // should be the same as Sphere526 Shape s1 = Sphere() && Cuboid(); // Sphere in upper place 507 527 508 528 CPPUNIT_ASSERT(s1.isInside(v000)); 509 529 CPPUNIT_ASSERT(s1.isInside(v100)); 510 CPPUNIT_ASSERT( s1.isInside(v200));530 CPPUNIT_ASSERT(!s1.isInside(v200)); 511 531 CPPUNIT_ASSERT(s1.isInside(v010)); 512 532 CPPUNIT_ASSERT(!s1.isInside(v110)); 513 533 CPPUNIT_ASSERT(!s1.isInside(v210)); 514 CPPUNIT_ASSERT( s1.isInside(v020));534 CPPUNIT_ASSERT(!s1.isInside(v020)); 515 535 CPPUNIT_ASSERT(!s1.isInside(v120)); 516 536 CPPUNIT_ASSERT(!s1.isInside(v220)); … … 524 544 CPPUNIT_ASSERT(!s1.isInside(v121)); 525 545 CPPUNIT_ASSERT(!s1.isInside(v221)); 526 CPPUNIT_ASSERT( s1.isInside(v002));546 CPPUNIT_ASSERT(!s1.isInside(v002)); 527 547 CPPUNIT_ASSERT(!s1.isInside(v102)); 528 548 CPPUNIT_ASSERT(!s1.isInside(v202)); … … 534 554 CPPUNIT_ASSERT(!s1.isInside(v222)); 535 555 536 CPPUNIT_ASSERT( !s1.isOnSurface(v000));556 CPPUNIT_ASSERT(s1.isOnSurface(v000)); 537 557 CPPUNIT_ASSERT(s1.isOnSurface(v100)); 538 CPPUNIT_ASSERT( s1.isOnSurface(v200));558 CPPUNIT_ASSERT(!s1.isOnSurface(v200)); 539 559 CPPUNIT_ASSERT(s1.isOnSurface(v010)); 540 560 CPPUNIT_ASSERT(!s1.isOnSurface(v110)); 541 561 CPPUNIT_ASSERT(!s1.isOnSurface(v210)); 542 CPPUNIT_ASSERT( s1.isOnSurface(v020));562 CPPUNIT_ASSERT(!s1.isOnSurface(v020)); 543 563 CPPUNIT_ASSERT(!s1.isOnSurface(v120)); 544 564 CPPUNIT_ASSERT(!s1.isOnSurface(v220)); … … 552 572 CPPUNIT_ASSERT(!s1.isOnSurface(v121)); 553 573 CPPUNIT_ASSERT(!s1.isOnSurface(v221)); 554 CPPUNIT_ASSERT( s1.isOnSurface(v002));574 CPPUNIT_ASSERT(!s1.isOnSurface(v002)); 555 575 CPPUNIT_ASSERT(!s1.isOnSurface(v102)); 556 576 CPPUNIT_ASSERT(!s1.isOnSurface(v202)); … … 570 590 CPPUNIT_ASSERT(s2.isInside(v010)); 571 591 CPPUNIT_ASSERT(s2.isInside(v110)); 572 CPPUNIT_ASSERT( s2.isInside(v210));592 CPPUNIT_ASSERT(!s2.isInside(v210)); 573 593 CPPUNIT_ASSERT(s2.isInside(v020)); 574 CPPUNIT_ASSERT( s2.isInside(v120));575 CPPUNIT_ASSERT( s2.isInside(v220));594 CPPUNIT_ASSERT(!s2.isInside(v120)); 595 CPPUNIT_ASSERT(!s2.isInside(v220)); 576 596 CPPUNIT_ASSERT(s2.isInside(v001)); 577 597 CPPUNIT_ASSERT(s2.isInside(v101)); 578 CPPUNIT_ASSERT( s2.isInside(v201));598 CPPUNIT_ASSERT(!s2.isInside(v201)); 579 599 CPPUNIT_ASSERT(s2.isInside(v011)); 580 600 CPPUNIT_ASSERT(s2.isInside(v111)); 581 CPPUNIT_ASSERT( s2.isInside(v211));582 CPPUNIT_ASSERT( s2.isInside(v021));583 CPPUNIT_ASSERT( s2.isInside(v121));584 CPPUNIT_ASSERT( s2.isInside(v221));601 CPPUNIT_ASSERT(!s2.isInside(v211)); 602 CPPUNIT_ASSERT(!s2.isInside(v021)); 603 CPPUNIT_ASSERT(!s2.isInside(v121)); 604 CPPUNIT_ASSERT(!s2.isInside(v221)); 585 605 CPPUNIT_ASSERT(s2.isInside(v002)); 586 CPPUNIT_ASSERT( s2.isInside(v102));587 CPPUNIT_ASSERT( s2.isInside(v202));588 CPPUNIT_ASSERT( s2.isInside(v012));589 CPPUNIT_ASSERT( s2.isInside(v112));590 CPPUNIT_ASSERT( s2.isInside(v212));591 CPPUNIT_ASSERT( s2.isInside(v022));592 CPPUNIT_ASSERT( s2.isInside(v122));593 CPPUNIT_ASSERT( s2.isInside(v222));606 CPPUNIT_ASSERT(!s2.isInside(v102)); 607 CPPUNIT_ASSERT(!s2.isInside(v202)); 608 CPPUNIT_ASSERT(!s2.isInside(v012)); 609 CPPUNIT_ASSERT(!s2.isInside(v112)); 610 CPPUNIT_ASSERT(!s2.isInside(v212)); 611 CPPUNIT_ASSERT(!s2.isInside(v022)); 612 CPPUNIT_ASSERT(!s2.isInside(v122)); 613 CPPUNIT_ASSERT(!s2.isInside(v222)); 594 614 595 615 CPPUNIT_ASSERT(!s2.isOnSurface(v000)); … … 598 618 CPPUNIT_ASSERT(s2.isOnSurface(v010)); 599 619 CPPUNIT_ASSERT(s2.isOnSurface(v110)); 600 CPPUNIT_ASSERT( s2.isOnSurface(v210));620 CPPUNIT_ASSERT(!s2.isOnSurface(v210)); 601 621 CPPUNIT_ASSERT(s2.isOnSurface(v020)); 602 CPPUNIT_ASSERT( s2.isOnSurface(v120));603 CPPUNIT_ASSERT( s2.isOnSurface(v220));622 CPPUNIT_ASSERT(!s2.isOnSurface(v120)); 623 CPPUNIT_ASSERT(!s2.isOnSurface(v220)); 604 624 CPPUNIT_ASSERT(s2.isOnSurface(v001)); 605 625 CPPUNIT_ASSERT(s2.isOnSurface(v101)); 606 CPPUNIT_ASSERT( s2.isOnSurface(v201));626 CPPUNIT_ASSERT(!s2.isOnSurface(v201)); 607 627 CPPUNIT_ASSERT(s2.isOnSurface(v011)); 608 628 CPPUNIT_ASSERT(s2.isOnSurface(v111)); 609 CPPUNIT_ASSERT( s2.isOnSurface(v211));610 CPPUNIT_ASSERT( s2.isOnSurface(v021));611 CPPUNIT_ASSERT( s2.isOnSurface(v121));612 CPPUNIT_ASSERT( s2.isOnSurface(v221));629 CPPUNIT_ASSERT(!s2.isOnSurface(v211)); 630 CPPUNIT_ASSERT(!s2.isOnSurface(v021)); 631 CPPUNIT_ASSERT(!s2.isOnSurface(v121)); 632 CPPUNIT_ASSERT(!s2.isOnSurface(v221)); 613 633 CPPUNIT_ASSERT(s2.isOnSurface(v002)); 614 CPPUNIT_ASSERT( s2.isOnSurface(v102));615 CPPUNIT_ASSERT( s2.isOnSurface(v202));616 CPPUNIT_ASSERT( s2.isOnSurface(v012));617 CPPUNIT_ASSERT( s2.isOnSurface(v112));618 CPPUNIT_ASSERT( s2.isOnSurface(v212));619 CPPUNIT_ASSERT( s2.isOnSurface(v022));620 CPPUNIT_ASSERT( s2.isOnSurface(v122));621 CPPUNIT_ASSERT( s2.isOnSurface(v222));634 CPPUNIT_ASSERT(!s2.isOnSurface(v102)); 635 CPPUNIT_ASSERT(!s2.isOnSurface(v202)); 636 CPPUNIT_ASSERT(!s2.isOnSurface(v012)); 637 CPPUNIT_ASSERT(!s2.isOnSurface(v112)); 638 CPPUNIT_ASSERT(!s2.isOnSurface(v212)); 639 CPPUNIT_ASSERT(!s2.isOnSurface(v022)); 640 CPPUNIT_ASSERT(!s2.isOnSurface(v122)); 641 CPPUNIT_ASSERT(!s2.isOnSurface(v222)); 622 642 } 623 643 624 644 } 645 646 void ShapeUnittest::PointsOnSurfaceTest(){ 647 Shape s = Sphere(); 648 const size_t N = 200; 649 std::vector<Vector> PointsOnSurface = s.getHomogeneousPointsOnSurface(N); 650 for (std::vector<Vector>::const_iterator iter = PointsOnSurface.begin(); iter != PointsOnSurface.end(); ++iter) { 651 CPPUNIT_ASSERT(fabs(1. - (*iter).NormSquared()) < MYEPSILON); 652 } 653 CPPUNIT_ASSERT_EQUAL(N, PointsOnSurface.size()); 654 } 655
Note:
See TracChangeset
for help on using the changeset viewer.
