<?xml version="1.0" encoding="utf-8"?>
<root>
  <doclet-version-NOT-library-version>1.00</doclet-version-NOT-library-version>
  <b4x_version>8.30</b4x_version>
  <dependsOn>icore</dependsOn>
  <dependsOn>ixui</dependsOn>
  <dependsOn>ibitmapcreator</dependsOn>
  <dependsOn>avfoundation.framework</dependsOn>
  <class>
    <name>_point3d_type</name>
    <shortname>Point3D_Type</shortname>
    <method>
      <name>Initialize</name>
      <comment>Inizializza i campi al loro valore predefinito.</comment>
      <returntype>void</returntype>
    </method>
    <field>
      <name>IsInitialized</name>
      <comment>Verifica se l'oggetto sia stato inizializzato.</comment>
      <returntype>BOOL</returntype>
    </field>
    <field>
      <name>X</name>
      <returntype>float</returntype>
    </field>
    <field>
      <name>Y</name>
      <returntype>float</returntype>
    </field>
    <field>
      <name>Z</name>
      <returntype>float</returntype>
    </field>
  </class>
  <class>
    <name>_point2d_type</name>
    <shortname>Point2D_Type</shortname>
    <method>
      <name>Initialize</name>
      <comment>Inizializza i campi al loro valore predefinito.</comment>
      <returntype>void</returntype>
    </method>
    <field>
      <name>IsInitialized</name>
      <comment>Verifica se l'oggetto sia stato inizializzato.</comment>
      <returntype>BOOL</returntype>
    </field>
    <field>
      <name>X</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>Y</name>
      <returntype>int</returntype>
    </field>
  </class>
  <class>
    <name>_type_polygon</name>
    <shortname>Type_Polygon</shortname>
    <method>
      <name>Initialize</name>
      <comment>Inizializza i campi al loro valore predefinito.</comment>
      <returntype>void</returntype>
    </method>
    <field>
      <name>IsInitialized</name>
      <comment>Verifica se l'oggetto sia stato inizializzato.</comment>
      <returntype>BOOL</returntype>
    </field>
    <field>
      <name>ID</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>Image</name>
      <returntype>BOOL</returntype>
    </field>
    <field>
      <name>BC</name>
      <returntype>b4i_bitmapcreator*</returntype>
    </field>
    <field>
      <name>FillColor</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>BorderColor</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>Priority</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>ListVertices</name>
      <returntype>B4IList*</returntype>
    </field>
    <field>
      <name>PointView</name>
      <returntype>B4IList*</returntype>
    </field>
  </class>
  <class>
    <name>_touch_type</name>
    <shortname>Touch_Type</shortname>
    <method>
      <name>Initialize</name>
      <comment>Inizializza i campi al loro valore predefinito.</comment>
      <returntype>void</returntype>
    </method>
    <field>
      <name>IsInitialized</name>
      <comment>Verifica se l'oggetto sia stato inizializzato.</comment>
      <returntype>BOOL</returntype>
    </field>
    <field>
      <name>ID</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>IDo</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>X</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name>Y</name>
      <returntype>int</returntype>
    </field>
  </class>
  <class>
    <name>b4i_object3d</name>
    <shortname>Object3D</shortname>
    <method>
      <name>IsInitialized</name>
      <comment>Verifica se l'oggetto sia stato inizializzato.</comment>
      <returntype>BOOL</returntype>
    </method>
    <method>
      <name DesignerName="AddArcX">_addarcx:::::::::</name>
      <comment> Add Arc or Circle (StartDegree=0, EndDegree=360) - round X axis
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StartDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>EndDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>R</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddArcY">_addarcy:::::::::</name>
      <comment> Add Arc or Circle (StartDegree=0, EndDegree=360) - round Y axis
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StartDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>EndDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>R</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddArcZ">_addarcz:::::::::</name>
      <comment> Add Arc or Circle (StartDegree=0, EndDegree=360) - round Z axis
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StartDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>EndDegree</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>R</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddBitmapCreator">_addbitmapcreator::::::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Bmc</name>
        <type>b4i_bitmapcreator*</type>
      </parameter>
      <parameter>
        <name>P_TopLeft</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_TopRight</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_DownLeft</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_DownRight</name>
        <type>_point3d_type*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddCube">_addcube:::::::::</name>
      <comment> Create Cube - Add 6 Polygon - Set Array as Color (min 1, max 6 Color)
 AddCube(121,10,10,10,-10,-10,-10,xui.Color_Black,array as int(xui.Color_White))
 AddCube(121,10,10,10,-10,-10,-10,xui.Color_Black,array as int(xui.Color_White,xui.Color_Black))
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>X2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int[]</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddImage">_addimage::::::</name>
      <comment> Add Image - Set Coordinate
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Image</name>
        <type>B4XBitmapWrapper*</type>
      </parameter>
      <parameter>
        <name>P_TopLeft</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_TopRight</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_DownLeft</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>P_DownRight</name>
        <type>_point3d_type*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddObj3D">_addobj3d:</name>
      <comment> For internal use
</comment>
      <returntype>NSString*</returntype>
      <parameter>
        <name>Obj3d</name>
        <type>_type_polygon*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddPolygon">_addpolygon::::</name>
      <comment> Add Polygon, trace path
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>PointList</name>
        <type>_point3d_type*[]</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddRec">_addrec:::::::::</name>
      <comment> Add rectangle, Set TopLeft and DownRight
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z1</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>X2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z2</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddSpere">_addspere:::::::</name>
      <comment> Create Sphere - Add 300 Polygon
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>ID_Start</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>R</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="AddSpere2">_addspere2:::::::::::::</name>
      <comment> Create Sphere - Add 300 Polygon
 Latitude : 0-360
 Longitude: 0-180
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDStart</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>R</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StartLatitude</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StopLatitude</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StartLongitude</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>StopLongitude</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>OrizontalStep</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>VerticalStep</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="Class_Globals">_class_globals</name>
      <returntype>NSString*</returntype>
    </method>
    <method>
      <name DesignerName="Clear">_clear</name>
      <comment> Clear all Object
</comment>
      <returntype>NSString*</returntype>
    </method>
    <method>
      <name DesignerName="CtP">_ctp:::</name>
      <comment> Coordinate To Point
</comment>
      <returntype>_point3d_type*</returntype>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="CutObj">_cutobj:</name>
      <comment> Erase Object List, and returns a new list. If the ID list is empty, it does not perform any operation
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDlist</name>
        <type>B4IList*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="getListObject" HideFromIDE="true">_getlistobject</name>
      <comment> return List of Type_Polygon
</comment>
      <returntype>B4IList*</returntype>
    </method>
    <method>
      <name DesignerName="getListObjectFromID">_getlistobjectfromid:</name>
      <comment> return List of Type_Polygon with specific ID
</comment>
      <returntype>B4IList*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="getObj3DCount" HideFromIDE="true">_getobj3dcount</name>
      <comment> Count of Object
</comment>
      <returntype>int</returntype>
    </method>
    <method>
      <name DesignerName="Initialize">_initialize:</name>
      <comment>Initializes the object. You can add parameters to this method if needed.
</comment>
      <returntype>NSString*</returntype>
      <parameter>
        <name>ba</name>
        <type>B4I*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="LoadObiectj3D">_loadobiectj3d::</name>
      <comment> e.g. LoadObiectj3D(File.DirInternal,"object.ddd")
</comment>
      <returntype>BOOL</returntype>
      <parameter>
        <name>Path</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>FileName</name>
        <type>NSString*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="LoadObjFile">_loadobjfile::::::</name>
      <comment> LimitsPolygon Set 0 to no-limit
</comment>
      <returntype>NSString*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Path</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>filename</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>LimitsPolygon</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="LoadStlFile">_loadstlfile::::::</name>
      <returntype>NSString*</returntype>
      <parameter>
        <name>ID</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Path</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>filename</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>RatioOfSize</name>
        <type>float</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="MoveObj">_moveobj::::</name>
      <comment>Move Object List, set IDList to null for rotate all Polygon
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDlist</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="PointClick">_pointclick:::</name>
      <comment> Vwerify if point is internal of any Polygon/object - Response -1 if is external
</comment>
      <returntype>int</returntype>
      <parameter>
        <name>x</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>y</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>Advise</name>
        <type>BOOL</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="RenderToView">_rendertoview:::::</name>
      <comment>Select the most suitable method for the draw based on the number of polygons contained
 DrawMode  0-Traslucent
 1-Canvas without depth color 2-BitmapCreator without depth color 10-Automatic (Canvas if less 20mil polygon)
 3-Canvas with depth color    4-BitmapCreator with depth color    20-Automatic (Canvas if less 20mil polygon)
</comment>
      <returntype>NSString*</returntype>
      <parameter>
        <name>V</name>
        <type>B4XViewWrapper*</type>
      </parameter>
      <parameter>
        <name>CenterX</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>CenterY</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>ZoomValue</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>DrawMode</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="Rotate">_rotate::::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>DegreeX</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>DegreeY</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>DegreeZ</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="Rotate2">_rotate2::::</name>
      <comment> Rotate Polygon List, Set IDList to null for rotate all Polygon (Alternative formulas)
</comment>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>DegreeX</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>DegreeY</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>DegreeZ</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="RotateX">_rotatex::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>Degree</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="RotateY">_rotatey::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>Degree</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="RotateZ">_rotatez::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>Degree</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="SaveObiectj3D">_saveobiectj3d::</name>
      <comment> e.g. SaveObiectj3D(File.DirInternal,"object.ddd")
</comment>
      <returntype>BOOL</returntype>
      <parameter>
        <name>Path</name>
        <type>NSString*</type>
      </parameter>
      <parameter>
        <name>FileName</name>
        <type>NSString*</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="setColor">_setcolor:::</name>
      <returntype>b4i_object3d*</returntype>
      <parameter>
        <name>IDList</name>
        <type>B4IList*</type>
      </parameter>
      <parameter>
        <name>BorderColor</name>
        <type>int</type>
      </parameter>
      <parameter>
        <name>FillColor</name>
        <type>int</type>
      </parameter>
    </method>
    <method>
      <name DesignerName="setVertices">_setvertices::::</name>
      <comment> Set New Values of Vertices
</comment>
      <returntype>NSString*</returntype>
      <parameter>
        <name>OriginalVertices</name>
        <type>_point3d_type*</type>
      </parameter>
      <parameter>
        <name>X</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Y</name>
        <type>float</type>
      </parameter>
      <parameter>
        <name>Z</name>
        <type>float</type>
      </parameter>
    </method>
    <property>
      <name DesignerName="ListObject">_listobject</name>
      <comment> return List of Type_Polygon
</comment>
      <returntype>B4IList*</returntype>
    </property>
    <property>
      <name DesignerName="Obj3DCount">_obj3dcount</name>
      <comment> Count of Object
</comment>
      <returntype>int</returntype>
    </property>
    <field>
      <name DesignerName="ListVerticesOnScreen">_listverticesonscreen</name>
      <returntype>B4IList*</returntype>
    </field>
    <field>
      <name DesignerName="LoadTime">_loadtime</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name DesignerName="RotateTime">_rotatetime</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name DesignerName="SortTime">_sorttime</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name DesignerName="DrawTime">_drawtime</name>
      <returntype>int</returntype>
    </field>
    <field>
      <name DesignerName="light_intensity">_light_intensity</name>
      <returntype>int</returntype>
    </field>
  </class>
  <version>0.28</version>
  <author>Star-Dust</author>
</root>