<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qcustom3ditem.cpp --> <title>Custom3DItem QML Type | Qt Data Visualization 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtdatavisualization-index.html">Qt Data Visualization</a></td><td ><a href="qtdatavisualization-qmlmodule.html">QML Types</a></td><td >Custom3DItem QML Type</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtdatavisualization-index.html">Qt Data Visualization | Commercial or GPLv3</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#properties">Properties</a></li> <li class="level1"><a href="#methods">Methods</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">Custom3DItem QML Type</h1> <span class="subtitle"></span> <!-- $$$Custom3DItem-brief --> <p>Adds a custom item to a graph. <a href="#details">More...</a></p> <!-- @@@Custom3DItem --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Import Statement:</td><td class="memItemRight bottomAlign"> import QtDataVisualization 1.2</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> QtDataVisualization 1.1</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Instantiates:</td><td class="memItemRight bottomAlign"> <a href="qml-qtdatavisualization-custom3ditem.html"><a href="qcustom3ditem.html">QCustom3DItem</a></td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qml-qtdatavisualization-custom3dlabel.html">Custom3DLabel</a> and <a href="qml-qtdatavisualization-custom3dvolume.html">Custom3DVolume</a></p> </td></tr></table></div><ul> <li><a href="qml-qtdatavisualization-custom3ditem-members.html">List of all members, including inherited members</a></li> </ul> <a name="properties"></a> <h2 id="properties">Properties</h2> <ul> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#meshFile-prop">meshFile</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#position-prop">position</a></b></b> : vector3d</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a></b></b> : bool</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#rotation-prop">rotation</a></b></b> : quaternion</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#scaling-prop">scaling</a></b></b> : vector3d</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a></b></b> : bool</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#shadowCasting-prop">shadowCasting</a></b></b> : bool</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#textureFile-prop">textureFile</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qtdatavisualization-custom3ditem.html#visible-prop">visible</a></b></b> : bool</li> </ul> <a name="methods"></a> <h2 id="methods">Methods</h2> <ul> <li class="fn">void <b><b><a href="qml-qtdatavisualization-custom3ditem.html#setRotationAxisAndAngle-method">setRotationAxisAndAngle</a></b></b>(vector3d <i>axis</i>, real <i>angle</i>)</li> </ul> <!-- $$$Custom3DItem-description --> <a name="details"></a> <h2 id="details">Detailed Description</h2> <p>A custom item has a custom mesh, position, scaling, rotation, and an optional texture.</p> <!-- @@@Custom3DItem --> <h2>Property Documentation</h2> <!-- $$$meshFile --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="meshFile-prop"> <td class="tblQmlPropNode"><p> <a name="meshFile-prop"></a><span class="name">meshFile</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The item mesh file name. The item in the file must be in Wavefront OBJ format and include vertices, normals, and UVs. It also needs to be in triangles.</p> </div></div><!-- @@@meshFile --> <br/> <!-- $$$position --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="position-prop"> <td class="tblQmlPropNode"><p> <a name="position-prop"></a><span class="name">position</span> : <span class="type">vector3d</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The item position as a vector3d type. Defaults to <code>vector3d(0.0, 0.0, 0.0)</code>.</p> <p>Item position is specified either in data coordinates or in absolute coordinates, depending on the value of the <a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a> property. When using absolute coordinates, values between <code>-1.0...1.0</code> are within axis ranges.</p> <p><b>Note: </b>Items positioned outside any axis range are not rendered if <a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a> is <code>false</code>, unless the item is a <a href="qml-qtdatavisualization-custom3dvolume.html">Custom3DVolume</a> that would be partially visible and <a href="qml-qtdatavisualization-custom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a> is also <code>false</code>. In that case, the visible portion of the volume will be rendered.</p><p><b>See also </b><a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a> and <a href="qml-qtdatavisualization-custom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a>.</p> </div></div><!-- @@@position --> <br/> <!-- $$$positionAbsolute --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="positionAbsolute-prop"> <td class="tblQmlPropNode"><p> <a name="positionAbsolute-prop"></a><span class="name">positionAbsolute</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Defines whether item position is to be handled in data coordinates or in absolute coordinates. Defaults to <code>false</code>. Items with absolute coordinates will always be rendered, whereas items with data coordinates are only rendered if they are within axis ranges.</p> <p><b>See also </b><a href="qml-qtdatavisualization-custom3ditem.html#position-prop">position</a>.</p> </div></div><!-- @@@positionAbsolute --> <br/> <!-- $$$rotation --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="rotation-prop"> <td class="tblQmlPropNode"><p> <a name="rotation-prop"></a><span class="name">rotation</span> : <span class="type">quaternion</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The item rotation as a quaternion. Defaults to <code>quaternion(0.0, 0.0, 0.0, 0.0)</code>.</p> </div></div><!-- @@@rotation --> <br/> <!-- $$$scaling --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="scaling-prop"> <td class="tblQmlPropNode"><p> <a name="scaling-prop"></a><span class="name">scaling</span> : <span class="type">vector3d</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The item scaling as a vector3d type. Defaults to <code>vector3d(0.1, 0.1, 0.1)</code>.</p> <p>Item scaling is specified either in data values or in absolute values, depending on the value of the <a href="qml-qtdatavisualization-custom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a> property. The default vector interpreted as absolute values sets the item to 10% of the height of the graph, provided the item mesh is normalized and the graph aspect ratios have not been changed from the defaults.</p> <p><b>See also </b><a href="qml-qtdatavisualization-custom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a>.</p> </div></div><!-- @@@scaling --> <br/> <!-- $$$scalingAbsolute --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="scalingAbsolute-prop"> <td class="tblQmlPropNode"><p> <a name="scalingAbsolute-prop"></a><span class="name">scalingAbsolute</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Defines whether item scaling is to be handled in data values or in absolute values. Defaults to <code>true</code>. Items with absolute scaling will be rendered at the same size, regardless of axis ranges. Items with data scaling will change their apparent size according to the axis ranges. If <a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a> is <code>true</code>, this property is ignored and scaling is interpreted as an absolute value. If the item has rotation, the data scaling is calculated on the unrotated item. Similarly, for <a href="qml-qtdatavisualization-custom3dvolume.html">Custom3DVolume</a> items, the range clipping is calculated on the unrotated item.</p> <p><b>Note: </b>Only absolute scaling is supported for <a href="qml-qtdatavisualization-custom3dlabel.html">Custom3DLabel</a> items or for custom items used in <a href="qml-qtdatavisualization-abstractgraph3d.html#polar-prop">polar</a> graphs.</p><p><b>Note: </b>The custom item's mesh must be normalized to the range <code>[-1 ,1]</code>, or the data scaling will not be accurate.</p><p>This property was introduced in QtDataVisualization 1.2.</p> <p><b>See also </b><a href="qml-qtdatavisualization-custom3ditem.html#scaling-prop">scaling</a> and <a href="qml-qtdatavisualization-custom3ditem.html#positionAbsolute-prop">positionAbsolute</a>.</p> </div></div><!-- @@@scalingAbsolute --> <br/> <!-- $$$shadowCasting --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="shadowCasting-prop"> <td class="tblQmlPropNode"><p> <a name="shadowCasting-prop"></a><span class="name">shadowCasting</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Defines whether shadow casting for the item is enabled. Defaults to <code>true</code>. If <code>false</code>, the item does not cast shadows regardless of <a href="qabstract3dgraph.html#ShadowQuality-enum">ShadowQuality</a>.</p> </div></div><!-- @@@shadowCasting --> <br/> <!-- $$$textureFile --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="textureFile-prop"> <td class="tblQmlPropNode"><p> <a name="textureFile-prop"></a><span class="name">textureFile</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The texture file name for the item. If left unset, a solid gray texture will be used.</p> <p><b>Note: </b>To conserve memory, the QImage loaded from the file is cleared after a texture is created.</p></div></div><!-- @@@textureFile --> <br/> <!-- $$$visible --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="visible-prop"> <td class="tblQmlPropNode"><p> <a name="visible-prop"></a><span class="name">visible</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The visibility of the item. Defaults to <code>true</code>.</p> </div></div><!-- @@@visible --> <br/> <h2>Method Documentation</h2> <!-- $$$setRotationAxisAndAngle --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="setRotationAxisAndAngle-method"> <td class="tblQmlFuncNode"><p> <a name="setRotationAxisAndAngle-method"></a><span class="type">void</span> <span class="name">setRotationAxisAndAngle</span>(<span class="type">vector3d</span> <i>axis</i>, <span class="type">real</span> <i>angle</i>)</p></td></tr> </table></div> </div><div class="qmldoc"><p>A convenience function to construct the rotation quaternion from <i>axis</i> and <i>angle</i>.</p> <p><b>See also </b><a href="qml-qtdatavisualization-custom3ditem.html#rotation-prop">rotation</a>.</p> </div></div><!-- @@@setRotationAxisAndAngle --> <br/> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>