source: utils/developer/tcl/showsurface.tcl@ 321470

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 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
Last change on this file since 321470 was 0773bd, checked in by Frederik Heber <heber@…>, 12 years ago

Added Tcl scripts used for visualizing faulty rolling spheres or the whole surface.

  • in CandidateForTesselation an error message makes explicit reference to animate_sphere, hence we should place it with molecuilder to eas debugging.
  • show_surface can be used to visualize the written TecPlot style .dat file containing the triangle information of the tesselated surface.
  • surfacing produces an animation (i.e. a number of frames) showing the sequence of found triangles and the rolling sphere which can be used to easily produce movies of the on-going tesselation.
  • Property mode set to 100644
File size: 996 bytes
Line 
1#!/usr/bin/tclsh
2#
3# This scripts parsed a tecplot style file of triangles and displays them via VMD's graphics interface
4
5# fname is the filename of the tecplot .dat file
6proc show_surface { fname } {
7 draw delete all
8 # open file
9 set file [open $fname r]
10 gets $file title
11 gets $file variables
12 gets $file zone
13 # parse nodes
14 set ncount 1
15 gets $file line
16 while { $line != {} } {
17 set nodes($ncount) $line
18 incr ncount
19 gets $file line
20 }
21 set ncount [ expr $ncount -1 ]
22 puts "There are $ncount nodes."
23 # there's a blank line in between
24 # parse triangles
25 set tcount 0
26 gets $file line
27 while { $line != {} } {
28 set triangles [ split $line " "]
29 set first [ lrange $nodes([ lindex $triangles 0 ]) 0 2 ]
30 set second [ lrange $nodes([ lindex $triangles 1 ]) 0 2 ]
31 set third [ lrange $nodes([ lindex $triangles 2 ]) 0 2 ]
32 draw material Transparent
33 draw color blue2
34 draw triangle $first $second $third
35 incr tcount
36 gets $file line
37 }
38 puts "There are $tcount triangles."
39}
Note: See TracBrowser for help on using the repository browser.