Annex E
(informative)
Examples
E.9.2 - Tessellation With Image Texture
Example overview
The various examples demonstrate the use of tessellated items with indexed color map and with texturing.
The tessellated shape representation includes an indexed texture coordinate list, providing texture vertices for each face, along with a texture referenced by URL. Figure E.A shows a cylinder with faces having specific texture coordinates. The texture for use in this model is provided in Figure E.B.
IFC-SPF source
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''),'2;1');
FILE_NAME('tessellation-with-image-texture.ifc','2016-05-06T03:47:49',(''),(''),'redacted','redacted','');
FILE_SCHEMA(('IFC4X3_DEV_7e95fe8'));
ENDSEC;
DATA;
#1= IFCPROJECT('10kad3X9L7HRl25ZiOK$bx',$,'Project',$,$,$,$,(#2,#3),#4);
#2= IFCGEOMETRICREPRESENTATIONCONTEXT('3D','Model',3,1.0E-05,#6,$);
#3= IFCGEOMETRICREPRESENTATIONCONTEXT('2D','Plan',2,1.0E-05,#7,$);
#4= IFCUNITASSIGNMENT((#8,#9,#10,#11,#12,#13,#14,#15,#16));
#6= IFCAXIS2PLACEMENT3D(#17,$,$);
#7= IFCAXIS2PLACEMENT3D(#18,$,$);
#8= IFCCONVERSIONBASEDUNIT(#19,.AREAUNIT.,'square inch',#20);
#9= IFCCONVERSIONBASEDUNIT(#21,.FORCEUNIT.,'pound-force',#22);
#10= IFCCONVERSIONBASEDUNIT(#23,.LENGTHUNIT.,'inch',#24);
#11= IFCCONVERSIONBASEDUNIT(#25,.MASSUNIT.,'pound',#26);
#12= IFCCONVERSIONBASEDUNIT(#27,.PLANEANGLEUNIT.,'degree',#28);
#13= IFCCONVERSIONBASEDUNIT(#29,.PRESSUREUNIT.,'pound-force per square inch',#30);
#14= IFCCONVERSIONBASEDUNITWITHOFFSET(#31,.THERMODYNAMICTEMPERATUREUNIT.,'Fahrenheit',#32,-459.67);
#15= IFCCONVERSIONBASEDUNIT(#33,.VOLUMEUNIT.,'cubic inch',#34);
#16= IFCMONETARYUNIT('USD');
#17= IFCCARTESIANPOINT((0.,0.,0.));
#18= IFCCARTESIANPOINT((0.,0.,0.));
#19= IFCDIMENSIONALEXPONENTS(2,0,0,0,0,0,0);
#20= IFCMEASUREWITHUNIT(IFCAREAMEASURE(0.0006452),#35);
#21= IFCDIMENSIONALEXPONENTS(1,1,-2,0,0,0,0);
#22= IFCMEASUREWITHUNIT(IFCMASSMEASURE(4.44822162),#36);
#23= IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);
#24= IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(0.0254),#37);
#25= IFCDIMENSIONALEXPONENTS(0,1,0,0,0,0,0);
#26= IFCMEASUREWITHUNIT(IFCMASSMEASURE(0.45359237),#38);
#27= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#28= IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.0174532925199433),#39);
#29= IFCDIMENSIONALEXPONENTS(-1,1,-2,0,0,0,0);
#30= IFCMEASUREWITHUNIT(IFCPRESSUREMEASURE(6894.7572932),#40);
#31= IFCDIMENSIONALEXPONENTS(0,0,0,0,1,0,0);
#32= IFCMEASUREWITHUNIT(IFCTHERMODYNAMICTEMPERATUREMEASURE(1.8),#41);
#33= IFCDIMENSIONALEXPONENTS(3,0,0,0,0,0,0);
#34= IFCMEASUREWITHUNIT(IFCVOLUMEMEASURE(1.639E-05),#42);
#35= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#36= IFCSIUNIT(*,.FORCEUNIT.,$,.NEWTON.);
#37= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#38= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#39= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#40= IFCSIUNIT(*,.PRESSUREUNIT.,$,.PASCAL.);
#41= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.);
#42= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#5= IFCRELDECLARES('3FXPqqCWT9I9Gn7115PFHw',$,$,$,#1,(#43));
#43= IFCBOILERTYPE('2n5ASfQfT84eP9h$zLLJ4A',$,'boiler name',$,$,$,(#44),$,$,.NOTDEFINED.);
#44= IFCREPRESENTATIONMAP(#45,#46);
#45= IFCAXIS2PLACEMENT3D(#47,$,$);
#46= IFCSHAPEREPRESENTATION(#2,'Body','Tessellation',(#48));
#47= IFCCARTESIANPOINT((0.,0.,0.));
#48= IFCTRIANGULATEDFACESET(#49,((0.,0.,-1.),(0.,0.,1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,-1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(0.,0.,1.),(1.,0.,0.),(0.923879532511287,0.38268343236509,0.),(0.707106781186548,0.707106781186547,0.),(0.38268343236509,0.923879532511287,0.),(6.12303176911189E-17,1.,0.),(-0.38268343236509,0.923879532511287,0.),(-0.707106781186547,0.707106781186548,0.),(-0.923879532511287,0.38268343236509,0.),(-1.,1.22460635382238E-16,0.),(-0.923879532511287,-0.38268343236509,0.),(-0.707106781186548,-0.707106781186547,0.),(-0.38268343236509,-0.923879532511287,0.),(-1.83690953073357E-16,-1.,0.),(0.38268343236509,-0.923879532511287,0.),(0.707106781186547,-0.707106781186548,0.),(0.923879532511287,-0.38268343236509,0.),(1.,-2.44921270764475E-16,0.),(1.,0.,0.),(0.923879532511287,0.38268343236509,0.),(0.707106781186548,0.707106781186547,0.),(0.38268343236509,0.923879532511287,0.),(6.12303176911189E-17,1.,0.),(-0.38268343236509,0.923879532511287,0.),(-0.707106781186547,0.707106781186548,0.),(-0.923879532511287,0.38268343236509,0.),(-1.,1.22460635382238E-16,0.),(-0.923879532511287,-0.38268343236509,0.),(-0.707106781186548,-0.707106781186547,0.),(-0.38268343236509,-0.923879532511287,0.),(-1.83690953073357E-16,-1.,0.),(0.38268343236509,-0.923879532511287,0.),(0.707106781186547,-0.707106781186548,0.),(0.923879532511287,-0.38268343236509,0.),(1.,-2.44921270764475E-16,0.)),.T.,((1,4,3),(38,54,37),(38,55,54),(2,20,21),(1,5,4),(39,55,38),(39,56,55),(2,21,22),(1,6,5),(40,56,39),(40,57,56),(2,22,23),(1,7,6),(41,57,40),(41,58,57),(2,23,24),(1,8,7),(42,58,41),(42,59,58),(2,24,25),(1,9,8),(43,59,42),(43,60,59),(2,25,26),(1,10,9),(44,60,43),(44,61,60),(2,26,27),(1,11,10),(45,61,44),(45,62,61),(2,27,28),(1,12,11),(46,62,45),(46,63,62),(2,28,29),(1,13,12),(47,63,46),(47,64,63),(2,29,30),(1,14,13),(48,64,47),(48,65,64),(2,30,31),(1,15,14),(49,65,48),(49,66,65),(2,31,32),(1,16,15),(50,66,49),(50,67,66),(2,32,33),(1,17,16),(51,67,50),(51,68,67),(2,33,34),(1,18,17),(52,68,51),(52,69,68),(2,34,35),(1,19,18),(53,69,52),(53,70,69),(2,35,36)),$);
#49= IFCCARTESIANPOINTLIST3D(((0.,0.,0.),(0.,0.,48.),(24.,0.,0.),(22.1731087802709,9.18440237676215,0.),(16.9705627484771,16.9705627484771,0.),(9.18440237676216,22.1731087802709,0.),(1.46952762458685E-15,24.,0.),(-9.18440237676215,22.1731087802709,0.),(-16.9705627484771,16.9705627484771,0.),(-22.1731087802709,9.18440237676216,0.),(-24.,2.93905524917371E-15,0.),(-22.1731087802709,-9.18440237676215,0.),(-16.9705627484771,-16.9705627484771,0.),(-9.18440237676217,-22.1731087802709,0.),(-4.40858287376056E-15,-24.,0.),(9.18440237676216,-22.1731087802709,0.),(16.9705627484771,-16.9705627484771,0.),(22.1731087802709,-9.18440237676217,0.),(24.,-5.87811049834741E-15,0.),(24.,0.,48.),(22.1731087802709,9.18440237676215,48.),(16.9705627484771,16.9705627484771,48.),(9.18440237676216,22.1731087802709,48.),(1.46952762458685E-15,24.,48.),(-9.18440237676215,22.1731087802709,48.),(-16.9705627484771,16.9705627484771,48.),(-22.1731087802709,9.18440237676216,48.),(-24.,2.93905524917371E-15,48.),(-22.1731087802709,-9.18440237676215,48.),(-16.9705627484771,-16.9705627484771,48.),(-9.18440237676217,-22.1731087802709,48.),(-4.40858287376056E-15,-24.,48.),(9.18440237676216,-22.1731087802709,48.),(16.9705627484771,-16.9705627484771,48.),(22.1731087802709,-9.18440237676217,48.),(24.,-5.87811049834741E-15,48.),(24.,0.,0.),(22.1731087802709,9.18440237676215,0.),(16.9705627484771,16.9705627484771,0.),(9.18440237676216,22.1731087802709,0.),(1.46952762458685E-15,24.,0.),(-9.18440237676215,22.1731087802709,0.),(-16.9705627484771,16.9705627484771,0.),(-22.1731087802709,9.18440237676216,0.),(-24.,2.93905524917371E-15,0.),(-22.1731087802709,-9.18440237676215,0.),(-16.9705627484771,-16.9705627484771,0.),(-9.18440237676217,-22.1731087802709,0.),(-4.40858287376056E-15,-24.,0.),(9.18440237676216,-22.1731087802709,0.),(16.9705627484771,-16.9705627484771,0.),(22.1731087802709,-9.18440237676217,0.),(24.,-5.87811049834741E-15,0.),(24.,0.,48.),(22.1731087802709,9.18440237676215,48.),(16.9705627484771,16.9705627484771,48.),(9.18440237676216,22.1731087802709,48.),(1.46952762458685E-15,24.,48.),(-9.18440237676215,22.1731087802709,48.),(-16.9705627484771,16.9705627484771,48.),(-22.1731087802709,9.18440237676216,48.),(-24.,2.93905524917371E-15,48.),(-22.1731087802709,-9.18440237676215,48.),(-16.9705627484771,-16.9705627484771,48.),(-9.18440237676217,-22.1731087802709,48.),(-4.40858287376056E-15,-24.,48.),(9.18440237676216,-22.1731087802709,48.),(16.9705627484771,-16.9705627484771,48.),(22.1731087802709,-9.18440237676217,48.),(24.,-5.87811049834741E-15,48.)),$);
#50= IFCSTYLEDITEM(#48,(#52),$);
#51= IFCINDEXEDTRIANGLETEXTUREMAP((#57),#48,#53,((1,4,3),(38,54,37),(38,55,54),(2,20,21),(1,5,4),(39,55,38),(39,56,55),(2,21,22),(1,6,5),(40,56,39),(40,57,56),(2,22,23),(1,7,6),(41,57,40),(41,58,57),(2,23,24),(1,8,7),(42,58,41),(42,59,58),(2,24,25),(1,9,8),(43,59,42),(43,60,59),(2,25,26),(1,10,9),(44,60,43),(44,61,60),(2,26,27),(1,11,10),(45,61,44),(45,62,61),(2,27,28),(1,12,11),(46,62,45),(46,63,62),(2,28,29),(1,13,12),(47,63,46),(47,64,63),(2,29,30),(1,14,13),(48,64,47),(48,65,64),(2,30,31),(1,15,14),(49,65,48),(49,66,65),(2,31,32),(1,16,15),(50,66,49),(50,67,66),(2,32,33),(1,17,16),(51,67,50),(51,68,67),(2,33,34),(1,18,17),(52,68,51),(52,69,68),(2,34,35),(1,19,18),(53,69,52),(53,70,69),(2,35,36)));
#52= IFCSURFACESTYLE($,.POSITIVE.,(#54,#55));
#53= IFCTEXTUREVERTEXLIST(((0.5,0.5),(0.5,0.5),(1.,0.5),(0.961939766255643,0.308658283817455),(0.853553390593274,0.146446609406726),(0.691341716182545,0.0380602337443566),(0.5,0.),(0.308658283817455,0.0380602337443566),(0.146446609406726,0.146446609406726),(0.0380602337443566,0.308658283817455),(0.,0.5),(0.0380602337443566,0.691341716182545),(0.146446609406726,0.853553390593274),(0.308658283817455,0.961939766255643),(0.5,1.),(0.691341716182545,0.961939766255643),(0.853553390593274,0.853553390593274),(0.961939766255643,0.691341716182545),(1.,0.5),(1.,0.5),(0.961939766255643,0.691341716182545),(0.853553390593274,0.853553390593274),(0.691341716182545,0.961939766255643),(0.5,1.),(0.308658283817455,0.961939766255643),(0.146446609406726,0.853553390593274),(0.0380602337443566,0.691341716182545),(0.,0.5),(0.0380602337443566,0.308658283817455),(0.146446609406726,0.146446609406726),(0.308658283817455,0.0380602337443567),(0.5,0.),(0.691341716182545,0.0380602337443567),(0.853553390593274,0.146446609406726),(0.961939766255643,0.308658283817455),(1.,0.5),(-0.25,0.),(-0.1875,0.),(-0.125,0.),(-0.0625,0.),(0.,0.),(0.0625,0.),(0.125,0.),(0.1875,0.),(0.25,0.),(0.3125,0.),(0.375,0.),(0.4375,0.),(0.5,0.),(0.5625,0.),(0.625,0.),(0.6875,0.),(0.75,0.),(-0.25,1.),(-0.1875,1.),(-0.125,1.),(-0.0625,1.),(0.,1.),(0.0625,1.),(0.125,1.),(0.1875,1.),(0.25,1.),(0.3125,1.),(0.375,1.),(0.4375,1.),(0.5,1.),(0.5625,1.),(0.625,1.),(0.6875,1.),(0.75,1.)));
#54= IFCSURFACESTYLERENDERING(#56,$,$,$,$,$,$,$,.NOTDEFINED.);
#55= IFCSURFACESTYLEWITHTEXTURES((#57));
#56= IFCCOLOURRGB($,1.,1.,1.);
#57= IFCIMAGETEXTURE(.T.,.T.,'DIFFUSE',#58,$,'texture.png');
#58= IFCCARTESIANTRANSFORMATIONOPERATOR2D(#59,$,#60,48.);
#59= IFCDIRECTION((1.,0.));
#60= IFCCARTESIANPOINT((0.,0.));
ENDSEC;
END-ISO-10303-21;