<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1212380313;
        mso-list-type:hybrid;
        mso-list-template-ids:-754260550 -1569260946 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:"Times New Roman","serif";
        mso-ascii-font-family:Calibri;
        mso-hansi-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.25in;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.75in;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1576090962;
        mso-list-type:hybrid;
        mso-list-template-ids:-1929241986 -1229667162 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.25in;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.75in;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Today I uploaded two videos to Youtube, showing the basics of what is happening. They can be found via the following links:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]><a href="http://www.youtube.com/watch?v=68yeT8t0TUc&feature=youtu.be">http://www.youtube.com/watch?v=68yeT8t0TUc&feature=youtu.be</a><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2">
<![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]><a href="http://www.youtube.com/watch?v=Linns_iSBro&feature=youtu.be">http://www.youtube.com/watch?v=Linns_iSBro&feature=youtu.be</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoPlainText">The init.py file used now uses “renView.InteractiveRender()” instead of just “Render()”, as suggested by Utkarsh. (Thank you again for that suggestion by the way!)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The first video is the mouse-based manipulation of 20MB of earthquake data. As shown, LOD is not active and my computer has no problem panning, rotating, etc. in near real-time.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now in the second video you see how ParaView acts when using the Wii Nunchuk. The first part, without LOD active, you can see the extreme delay after I let go. After turning on LOD, the rendering speed does improve quite a bit but it is
still not nearly as instantaneous as the mouse is without LOD. Also the data doesn’t fully re-render after releasing the joystick; a mouse click is still required. I think I can remedy that just by sending “Render()” when the joystick is released.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So my current goal is to get the Wii Nunchuk application running the ParaView rendering at least at 90% of the capacity of what the mouse can, only using LOD if it is required when using the mouse also. I’m clueless as what else I can do
with sending commands to the Python Shell to speed things up. Are there any ideas of how to reach this goal from where I am now? Whether it be improving the current process of sending Python commands or using a completely different process of manipulating
the rendering from an external application.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Also here is some more insight as to what the Wii application is actually doing in terms of interacting with ParaView. Just in case it could be useful information:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>The application is written in C++. During initialization, it connects to the server socket and loads the init.py file through the following commands:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">svr.sin_family = AF_INET;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">svr.sin_port = htons(9000);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">inet_aton(“127.0.0.1”, &svr.sin_addr);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">s = socket(AF_INET, SOCK_STREAM, 0);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">connect(s, (const sockaddr*)&svr, sizeof(sockaddr_in));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in">write(s, “execfile(‘init.py’)”, sizeof(“execfile(‘init.py’)”));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.75in;text-indent:.25in"><o:p> </o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>From there, every time the joystick is moved outside of its “deadzone” the following lines are ran:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">stringstream ss;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">ss.str(std::string());<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">ss << “command(“ << x_value << “,” << y_value << “);”;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">const std::string temp = ss.str();<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">const char* cstr = temp.c_str();<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in">write(s, cstr, strlen(cstr));<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>I’m pretty sure that it is not the C++ side of my Wii application slowing things down. Using ‘printf()’s, all the ‘write()’s happen and finish without any noticeable delay.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m still open to any suggestions out there! All help is very appreciated
<span style="font-family:Wingdings">J</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span style="font-family:"Times New Roman","serif"">Travis J. Bueter<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">----------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-family:"Times New Roman","serif"">Missouri University of Science and Technology - Junior<b><o:p></o:p></b></span></i></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">B.S. Computer Engineering/Computer Science<o:p></o:p></span></p>
<p class="MsoNormal"><a href="mailto:tjbxv7@mail.mst.edu"><span style="font-family:"Times New Roman","serif";color:windowtext">tjbxv7@mail.mst.edu</span></a><span style="font-family:"Times New Roman","serif""><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">(573)-238-5843<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">IT RSS<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">Treasurer – MS&T Robotics Competition Team<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">----------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
</div>
</body>
</html>