CGTalk > Technical > Graphics Programming
Login register
Thread Closed share thread « Previous Thread | Next Thread »  
 
Thread Tools Search this Thread Display Modes
Old 09-10-2013, 03:28 PM   #1
vhiguita
New Member
portfolio
Colombia
 
Join Date: Sep 2013
Posts: 2
Coplanar Points house roof

I have the next xml file of a house roof, how could I get the 3d points of the complete structure?, thanks in advance for any help that you could provide.

<?xml version="1.0" encoding="utf-8"?>
<EAGLEVIEW_EXPORT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocationreportName="file:///c:/temp/eagleview-export.xsd">
<VERSION coplanarity="" dormers="" precision="0" precisionUnits="" sourceVersion="1028" targetVersion="0" triangulation=""/>
<LOCATION address="141 Kennan St" city="Santa Cruz" lat="36.9821000" long="-122.0241000" postal="" state="CA"/>
<STRUCTURES northorientation="0.0">
<ROOF id="ROOF1">
<FACES>
<FACE designator="I" id="F1">
<POLYGON id="P1" orientation="71.0" path="L1,L2,L3,L4" pitch="8" size="725" unroundedsize="725.207196199"/>
</FACE>
<FACE designator="H" id="F2">
<POLYGON id="P2" orientation="251.0" path="L2,L5,L6,L7" pitch="8" size="725" unroundedsize="725.207196199"/>
</FACE>
<FACE designator="A" id="F3">
<POLYGON id="P3" orientation="341.0" path="L8,L9,L10,L11" pitch="6" size="14" unroundedsize="14.215955537"/>
</FACE>
<FACE designator="B" id="F4">
<POLYGON id="P4" orientation="23.5" path="L11,L12,L13" pitch="8" size="18" unroundedsize="18.105641666"/>
</FACE>
<FACE designator="C" id="F5">
<POLYGON id="P5" orientation="298.5" path="L9,L14,L15" pitch="8" size="18" unroundedsize="18.105641666"/>
</FACE>
<FACE designator="E" id="F6">
<POLYGON id="P6" orientation="161.4" path="L16,L17,L18,L19" pitch="0" size="342" unroundedsize="341.605953526"/>
</FACE>
<FACE designator="G" id="F7">
<POLYGON id="P7" orientation="154.9" path="L20,L21,L22,L23,L24,L25" pitch="0" size="431" unroundedsize="430.989999028"/>
</FACE>
<FACE designator="F" id="F8">
<POLYGON id="P8" orientation="161.0" path="L24,L26,L27,L28" pitch="4" size="373" unroundedsize="372.713216791"/>
</FACE>
<FACE designator="D" id="F9">
<POLYGON id="P9" orientation="161.0" path="L29,L30,L31,L32" pitch="0" size="156" unroundedsize="156.134580957"/>
</FACE>
</FACES>
<LINES>
<LINE id="L1" path="C1,C2" type="RAKE"/>
<LINE id="L2" path="C2,C3" type="RIDGE"/>
<LINE id="L3" path="C3,C4" type="RAKE"/>
<LINE id="L4" path="C4,C1" type="EAVE"/>
<LINE id="L5" path="C2,C5" type="RAKE"/>
<LINE id="L6" path="C5,C6" type="EAVE"/>
<LINE id="L7" path="C6,C3" type="RAKE"/>
<LINE id="L8" path="C7,C8" type="EAVE"/>
<LINE id="L9" path="C8,C9" type="HIP"/>
<LINE id="L10" path="C9,C10" type="FLASHING"/>
<LINE id="L11" path="C10,C7" type="HIP"/>
<LINE id="L12" path="C7,C11" type="EAVE"/>
<LINE id="L13" path="C11,C10" type="STEPFLASH"/>
<LINE id="L14" path="C8,C12" type="EAVE"/>
<LINE id="L15" path="C12,C9" type="STEPFLASH"/>
<LINE id="L16" path="C13,C14" type="EAVE"/>
<LINE id="L17" path="C14,C15" type="EAVE"/>
<LINE id="L18" path="C15,C16" type="FLASHING"/>
<LINE id="L19" path="C16,C13" type="EAVE"/>
<LINE id="L20" path="C17,C18" type="EAVE"/>
<LINE id="L21" path="C18,C19" type="EAVE"/>
<LINE id="L22" path="C19,C20" type="EAVE"/>
<LINE id="L23" path="C20,C21" type="EAVE"/>
<LINE id="L24" path="C21,C22" type="OTHER"/>
<LINE id="L25" path="C22,C17" type="EAVE"/>
<LINE id="L26" path="C21,C23" type="RAKE"/>
<LINE id="L27" path="C23,C24" type="EAVE"/>
<LINE id="L28" path="C24,C22" type="RAKE"/>
<LINE id="L29" path="C25,C26" type="EAVE"/>
<LINE id="L30" path="C26,C27" type="EAVE"/>
<LINE id="L31" path="C27,C28" type="FLASHING"/>
<LINE id="L32" path="C28,C25" type="FLASHING"/>
</LINES>
<POINTS>
<POINT data="27.096141893,67.088581299,10.979694884" id="C1"/>
<POINT data="13.548070946,62.423606365,20.532174900" id="C2"/>
<POINT data="27.258347158,22.606073055,20.532174900" id="C3"/>
<POINT data="40.806418104,27.271047989,10.979694884" id="C4"/>
<POINT data="0.000000000,57.758631431,10.979694884" id="C5"/>
<POINT data="13.710276212,17.941098122,10.979694884" id="C6"/>
<POINT data="9.278743999,64.672471378,3.493539281" id="C7"/>
<POINT data="6.784562011,63.813655647,3.493539281" id="C8"/>
<POINT data="8.502105093,59.116949751,5.993539281" id="C9"/>
<POINT data="10.816882462,59.913991518,5.993539281" id="C10"/>
<POINT data="16.514503451,61.875839754,3.279073187" id="C11"/>
<POINT data="2.804484104,57.155101515,3.279073187" id="C12"/>
<POINT data="21.979793355,7.049796239,6.488001522" id="C13"/>
<POINT data="44.063242723,14.653737653,6.488001522" id="C14"/>
<POINT data="39.301449811,28.482988424,6.488001522" id="C15"/>
<POINT data="17.218000443,20.879047010,6.488001522" id="C16"/>
<POINT data="72.069905140,8.170819686,0.000000000" id="C17"/>
<POINT data="48.340121729,0.000000000,0.000000000" id="C18"/>
<POINT data="43.619383490,13.710019346,0.000000000" id="C19"/>
<POINT data="45.279078761,14.281498258,0.000000000" id="C20"/>
<POINT data="44.343428970,16.998822560,0.000000000" id="C21"/>
<POINT data="66.413517109,24.598163334,0.000000000" id="C22"/>
<POINT data="39.411645919,31.321760543,5.049411809" id="C23"/>
<POINT data="61.481734058,38.921101317,5.049411809" id="C24"/>
<POINT data="61.974461985,37.490115509,0.000000000" id="C25"/>
<POINT data="59.888616462,43.547850767,0.000000000" id="C26"/>
<POINT data="36.846151095,35.613693663,0.000000000" id="C27"/>
<POINT data="38.931996619,29.555958405,0.000000000" id="C28"/>
</POINTS>
</ROOF>
</STRUCTURES>
</EAGLEVIEW_EXPORT>
 
Old 09-14-2013, 08:55 AM   #2
ThE_JacO
MOBerator-X
 
ThE_JacO's Avatar
CGSociety Member
portfolio
Raffaele Fragapane
That Creature Dude
Animal Logic
Sydney, Australia
 
Join Date: Jul 2002
Posts: 10,954
In what Software and in what language?
And what has coplanarity (in the subject) got to do with the problem?

Sorry, question is way too vague to get a reply without those details.
__________________
"As an online CG discussion grows longer, the probability of the topic being shifted to subsidies approaches 1"

Free Maya Nodes
 
Old 09-15-2013, 04:52 AM   #3
vhiguita
New Member
portfolio
Colombia
 
Join Date: Sep 2013
Posts: 2
The language doesn't matter, I would only need the cloud points of the full structure, but I don't know how I could get them according to the file. Thanks in advance.
 
Old 09-15-2013, 05:56 PM   #4
rende
Frequenter
 
rende's Avatar
portfolio
Rouan van der Ende
technologist
bitlab.io
Centurion, South Africa
 
Join Date: Dec 2002
Posts: 201
Well, simplest way would be to take this info:

Quote:
<POINT data="27.096141893,67.088581299,10.979694884" id="C1"/>
<POINT data="13.548070946,62.423606365,20.532174900" id="C2"/>
<POINT data="27.258347158,22.606073055,20.532174900" id="C3"/>
<POINT data="40.806418104,27.271047989,10.979694884" id="C4"/>
<POINT data="0.000000000,57.758631431,10.979694884" id="C5"/>
<POINT data="13.710276212,17.941098122,10.979694884" id="C6"/>
<POINT data="9.278743999,64.672471378,3.493539281" id="C7"/>
<POINT data="6.784562011,63.813655647,3.493539281" id="C8"/>
<POINT data="8.502105093,59.116949751,5.993539281" id="C9"/>
<POINT data="10.816882462,59.913991518,5.993539281" id="C10"/>
<POINT data="16.514503451,61.875839754,3.279073187" id="C11"/>
<POINT data="2.804484104,57.155101515,3.279073187" id="C12"/>
<POINT data="21.979793355,7.049796239,6.488001522" id="C13"/>
<POINT data="44.063242723,14.653737653,6.488001522" id="C14"/>
<POINT data="39.301449811,28.482988424,6.488001522" id="C15"/>
<POINT data="17.218000443,20.879047010,6.488001522" id="C16"/>
<POINT data="72.069905140,8.170819686,0.000000000" id="C17"/>
<POINT data="48.340121729,0.000000000,0.000000000" id="C18"/>
<POINT data="43.619383490,13.710019346,0.000000000" id="C19"/>
<POINT data="45.279078761,14.281498258,0.000000000" id="C20"/>
<POINT data="44.343428970,16.998822560,0.000000000" id="C21"/>
<POINT data="66.413517109,24.598163334,0.000000000" id="C22"/>
<POINT data="39.411645919,31.321760543,5.049411809" id="C23"/>
<POINT data="61.481734058,38.921101317,5.049411809" id="C24"/>
<POINT data="61.974461985,37.490115509,0.000000000" id="C25"/>
<POINT data="59.888616462,43.547850767,0.000000000" id="C26"/>
<POINT data="36.846151095,35.613693663,0.000000000" id="C27"/>
<POINT data="38.931996619,29.555958405,0.000000000" id="C28"/>


Create locators and set the position for each.. the first one would be.
X = 27.096141893
Y = 67.088581299
Z = 10.979694884
__________________
bitlab.io
 
Old 09-15-2013, 11:25 PM   #5
ThE_JacO
MOBerator-X
 
ThE_JacO's Avatar
CGSociety Member
portfolio
Raffaele Fragapane
That Creature Dude
Animal Logic
Sydney, Australia
 
Join Date: Jul 2002
Posts: 10,954
Quote:
Originally Posted by vhiguita
The language doesn't matter, I would only need the cloud points of the full structure, but I don't know how I could get them according to the file. Thanks in advance.

The language matters a lot.
You have an XML file there, an XML parser is all you need, it will build you a tree/structure of the data and allow you to query it. You will go in the branch ROOF, fetch all attributes tagged as POINT, and store the three following values into an array at the index corresponding to the fourth value (id).

Unless you plan on writing the parser yourself, which would be a colossal waste of time, and chances are if you're asking these questions is not what you're after, the language will determine what the standard libraries available will be, and the app will determine how they can be stored in a way that the scene can have a use for them.

You are remaining awfully generic.
Your question right now literally amounts to "How do I read a text file to do non-descript stuff with it?". It still can't be answered, because those actions are heavily language dependent (standard library or optional libraries coming with it, actually, but same thing at this point).

You want an XML library to parse and sort your data from that file, that's all that can be said right now. If you're using Python it comes with some respectable ones inbuilt (MiniDom etc.) that will do for simple uses like this. If you're using C++ then nothing in STL is adequate, you will need to get an external library to do the parsing, or cook your own.
__________________
"As an online CG discussion grows longer, the probability of the topic being shifted to subsidies approaches 1"

Free Maya Nodes
 
Old 09-15-2013, 11:25 PM   #6
CGTalk Moderation
Expert
CGTalk Forum Leader
 
Join Date: Sep 2003
Posts: 1,066,478
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 04:59 AM.


Powered by vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.