Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 845e36bb3ecce380666d628d88446962 > files > 105

qtdatavis3d5-doc-5.12.6-1.mga7.noarch.rpm

<?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>QCustom3DItem Class | 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-module.html">C++ Classes</a></td><td >QCustom3DItem</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="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#signals">Signals</a></li>
<li class="level1"><a href="#static-public-members">Static Public Members</a></li>
<li class="level1"><a href="#protected-variables">Protected Variables</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">QCustom3DItem Class</h1>
<!-- $$$QCustom3DItem-brief -->
<p>The <a href="qcustom3ditem.html">QCustom3DItem</a> class adds a custom item to a graph. <a href="#details">More...</a></p>
<!-- @@@QCustom3DItem -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QCustom3DItem&gt;</span>
</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"> Instantiated By:</td><td class="memItemRight bottomAlign"> <a href="qml-qtdatavisualization-custom3ditem.html">Custom3DItem</a></td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qcustom3dlabel.html">QCustom3DLabel</a> and <a href="qcustom3dvolume.html">QCustom3DVolume</a></p>
</td></tr></table></div><ul>
<li><a href="qcustom3ditem-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="properties"></a>
<h2 id="properties">Properties</h2>
<div class="table"><table class="propsummary">
<tr><td class="topAlign"><ul>
<li class="fn"><b><a href="qcustom3ditem.html#meshFile-prop">meshFile</a></b> : QString</li>
<li class="fn"><b><a href="qcustom3ditem.html#position-prop">position</a></b> : QVector3D</li>
<li class="fn"><b><a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsolute</a></b> : bool</li>
<li class="fn"><b><a href="qcustom3ditem.html#rotation-prop">rotation</a></b> : QQuaternion</li>
<li class="fn"><b><a href="qcustom3ditem.html#scaling-prop">scaling</a></b> : QVector3D</li>
</ul></td><td class="topAlign"><ul>
<li class="fn"><b><a href="qcustom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a></b> : bool</li>
<li class="fn"><b><a href="qcustom3ditem.html#shadowCasting-prop">shadowCasting</a></b> : bool</li>
<li class="fn"><b><a href="qcustom3ditem.html#textureFile-prop">textureFile</a></b> : QString</li>
<li class="fn"><b><a href="qcustom3ditem.html#visible-prop">visible</a></b> : bool</li>
</ul>
</td></tr>
</table></div>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#QCustom3DItem">QCustom3DItem</a></b>(QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#QCustom3DItem-1">QCustom3DItem</a></b>(const QString &amp;<i>meshFile</i>, const QVector3D &amp;<i>position</i>, const QVector3D &amp;<i>scaling</i>, const QQuaternion &amp;<i>rotation</i>, const QImage &amp;<i>texture</i>, QObject *<i>parent</i> = nullptr)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#dtor.QCustom3DItem">~QCustom3DItem</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#positionAbsolute-prop">isPositionAbsolute</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scalingAbsolute-prop">isScalingAbsolute</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#shadowCasting-prop">isShadowCasting</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#visible-prop">isVisible</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#meshFile-prop">meshFile</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVector3D </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#position-prop">position</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#rotation-prop">rotation</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVector3D </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scaling-prop">scaling</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#meshFile-prop">setMeshFile</a></b>(const QString &amp;<i>meshFile</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#position-prop">setPosition</a></b>(const QVector3D &amp;<i>position</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#positionAbsolute-prop">setPositionAbsolute</a></b>(bool <i>positionAbsolute</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#rotation-prop">setRotation</a></b>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#setRotationAxisAndAngle">setRotationAxisAndAngle</a></b>(const QVector3D &amp;<i>axis</i>, float <i>angle</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scaling-prop">setScaling</a></b>(const QVector3D &amp;<i>scaling</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scalingAbsolute-prop">setScalingAbsolute</a></b>(bool <i>scalingAbsolute</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#shadowCasting-prop">setShadowCasting</a></b>(bool <i>enabled</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#textureFile-prop">setTextureFile</a></b>(const QString &amp;<i>textureFile</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#setTextureImage">setTextureImage</a></b>(const QImage &amp;<i>textureImage</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#visible-prop">setVisible</a></b>(bool <i>visible</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#textureFile-prop">textureFile</a></b>() const</td></tr>
</table></div>
<a name="signals"></a>
<h2 id="signals">Signals</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#meshFile-prop">meshFileChanged</a></b>(const QString &amp;<i>meshFile</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsoluteChanged</a></b>(bool <i>positionAbsolute</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#position-prop">positionChanged</a></b>(const QVector3D &amp;<i>position</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#rotation-prop">rotationChanged</a></b>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scalingAbsolute-prop">scalingAbsoluteChanged</a></b>(bool <i>scalingAbsolute</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#scaling-prop">scalingChanged</a></b>(const QVector3D &amp;<i>scaling</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#shadowCasting-prop">shadowCastingChanged</a></b>(bool <i>shadowCasting</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#textureFile-prop">textureFileChanged</a></b>(const QString &amp;<i>textureFile</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#visible-prop">visibleChanged</a></b>(bool <i>visible</i>)</td></tr>
</table></div>
<a name="static-public-members"></a>
<h2 id="static-public-members">Static Public Members</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> const QMetaObject </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#staticMetaObject-var">staticMetaObject</a></b></td></tr>
</table></div>
<a name="protected-variables"></a>
<h2 id="protected-variables">Protected Variables</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qcustom3ditem.html#d_ptr-var">d_ptr</a></b></td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QCustom3DItem-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The <a href="qcustom3ditem.html">QCustom3DItem</a> class adds a custom item to a graph.</p>
<p>A custom item has a custom mesh, position, scaling, rotation, and an optional texture.</p>
</div>
<p><b>See also </b><a href="qabstract3dgraph.html#addCustomItem">QAbstract3DGraph::addCustomItem</a>().</p>
<!-- @@@QCustom3DItem -->
<div class="prop">
<h2>Property Documentation</h2>
<!-- $$$meshFile-prop$$$meshFile$$$setMeshFileconstQString&$$$meshFileChangedconstQString& -->
<h3 class="fn" id="meshFile-prop"><a name="meshFile-prop"></a><span class="name">meshFile</span> : <span class="type">QString</span></h3>
<p>This property holds the item mesh file name.</p>
<p>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>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>meshFile</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMeshFile</b></span>(const QString &amp;<i>meshFile</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>meshFileChanged</b></span>(const QString &amp;<i>meshFile</i>)</td></tr>
</table></div>
<!-- @@@meshFile -->
<!-- $$$position-prop$$$position$$$setPositionconstQVector3D&$$$positionChangedconstQVector3D& -->
<h3 class="fn" id="position-prop"><a name="position-prop"></a><span class="name">position</span> : <span class="type">QVector3D</span></h3>
<p>This property holds the item position as a QVector3D.</p>
<p>Defaults to <code>QVector3D(0.0, 0.0, 0.0)</code>.</p>
<p>Item position is specified either in data coordinates or in absolute coordinates, depending on the <a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsolute</a> property. When using absolute coordinates, values between <code>-1.0&#x2e;.&#x2e;1&#x2e;0</code> are within axis ranges.</p>
<p><b>Note: </b>Items positioned outside any axis range are not rendered if <a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsolute</a> is <code>false</code>, unless the item is a <a href="qcustom3dvolume.html">QCustom3DVolume</a> that would be partially visible and <a href="qcustom3ditem.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>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>position</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setPosition</b></span>(const QVector3D &amp;<i>position</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>positionChanged</b></span>(const QVector3D &amp;<i>position</i>)</td></tr>
</table></div>
<p><b>See also </b><a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsolute</a>.</p>
<!-- @@@position -->
<!-- $$$positionAbsolute-prop$$$isPositionAbsolute$$$setPositionAbsolutebool$$$positionAbsoluteChangedbool -->
<h3 class="fn" id="positionAbsolute-prop"><a name="positionAbsolute-prop"></a><span class="name">positionAbsolute</span> : <span class="type">bool</span></h3>
<p>This property holds whether item position is to be handled in data coordinates or in absolute coordinates.</p>
<p>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>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isPositionAbsolute</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setPositionAbsolute</b></span>(bool <i>positionAbsolute</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>positionAbsoluteChanged</b></span>(bool <i>positionAbsolute</i>)</td></tr>
</table></div>
<p><b>See also </b><a href="qcustom3ditem.html#position-prop">position</a>.</p>
<!-- @@@positionAbsolute -->
<!-- $$$rotation-prop$$$rotation$$$setRotationconstQQuaternion&$$$rotationChangedconstQQuaternion& -->
<h3 class="fn" id="rotation-prop"><a name="rotation-prop"></a><span class="name">rotation</span> : <span class="type">QQuaternion</span></h3>
<p>This property holds the item rotation as a QQuaternion.</p>
<p>Defaults to <code>QQuaternion(0.0, 0.0, 0.0, 0.0)</code>.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>()</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
</table></div>
<!-- @@@rotation -->
<!-- $$$scaling-prop$$$scaling$$$setScalingconstQVector3D&$$$scalingChangedconstQVector3D& -->
<h3 class="fn" id="scaling-prop"><a name="scaling-prop"></a><span class="name">scaling</span> : <span class="type">QVector3D</span></h3>
<p>This property holds the item scaling as a QVector3D.</p>
<p>Defaults to <code>QVector3D(0.1, 0.1, 0.1)</code>.</p>
<p>Item scaling is either in data values or in absolute values, depending on the <a href="qcustom3ditem.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>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scaling</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScaling</b></span>(const QVector3D &amp;<i>scaling</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scalingChanged</b></span>(const QVector3D &amp;<i>scaling</i>)</td></tr>
</table></div>
<p><b>See also </b><a href="qcustom3ditem.html#scalingAbsolute-prop">scalingAbsolute</a>.</p>
<!-- @@@scaling -->
<!-- $$$scalingAbsolute-prop$$$isScalingAbsolute$$$setScalingAbsolutebool$$$scalingAbsoluteChangedbool -->
<h3 class="fn" id="scalingAbsolute-prop"><a name="scalingAbsolute-prop"></a><span class="name">scalingAbsolute</span> : <span class="type">bool</span></h3>
<p>This property holds whether item scaling is to be handled in data values or in absolute values.</p>
<p>Defaults to <code>true</code>.</p>
<p>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="qcustom3ditem.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="qcustom3dvolume.html">QCustom3DVolume</a> items, the range clipping is calculated on the unrotated item.</p>
<p><b>Note: </b>Only absolute scaling is supported for <a href="qcustom3dlabel.html">QCustom3DLabel</a> items or for custom items used in <a href="qabstract3dgraph.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>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isScalingAbsolute</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScalingAbsolute</b></span>(bool <i>scalingAbsolute</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scalingAbsoluteChanged</b></span>(bool <i>scalingAbsolute</i>)</td></tr>
</table></div>
<p><b>See also </b><a href="qcustom3ditem.html#scaling-prop">scaling</a> and <a href="qcustom3ditem.html#positionAbsolute-prop">positionAbsolute</a>.</p>
<!-- @@@scalingAbsolute -->
<!-- $$$shadowCasting-prop$$$isShadowCasting$$$setShadowCastingbool$$$shadowCastingChangedbool -->
<h3 class="fn" id="shadowCasting-prop"><a name="shadowCasting-prop"></a><span class="name">shadowCasting</span> : <span class="type">bool</span></h3>
<p>This property holds whether shadow casting for the item is enabled.</p>
<p>Defaults to <code>true</code>. If <code>false</code>, the item does not cast shadows regardless of <a href="qabstract3dgraph.html#ShadowQuality-enum">QAbstract3DGraph::ShadowQuality</a>.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isShadowCasting</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setShadowCasting</b></span>(bool <i>enabled</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>shadowCastingChanged</b></span>(bool <i>shadowCasting</i>)</td></tr>
</table></div>
<!-- @@@shadowCasting -->
<!-- $$$textureFile-prop$$$textureFile$$$setTextureFileconstQString&$$$textureFileChangedconstQString& -->
<h3 class="fn" id="textureFile-prop"><a name="textureFile-prop"></a><span class="name">textureFile</span> : <span class="type">QString</span></h3>
<p>This property holds the texture file name for the item.</p>
<p>If both this property and the texture image are 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><p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>textureFile</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTextureFile</b></span>(const QString &amp;<i>textureFile</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>textureFileChanged</b></span>(const QString &amp;<i>textureFile</i>)</td></tr>
</table></div>
<!-- @@@textureFile -->
<!-- $$$visible-prop$$$isVisible$$$setVisiblebool$$$visibleChangedbool -->
<h3 class="fn" id="visible-prop"><a name="visible-prop"></a><span class="name">visible</span> : <span class="type">bool</span></h3>
<p>This property holds the visibility of the item.</p>
<p>Defaults to <code>true</code>.</p>
<p><b>Access functions:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isVisible</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setVisible</b></span>(bool <i>visible</i>)</td></tr>
</table></div>
<p><b>Notifier signal:</b></p>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>visibleChanged</b></span>(bool <i>visible</i>)</td></tr>
</table></div>
<!-- @@@visible -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QCustom3DItem[overload1]$$$QCustom3DItemQObject* -->
<h3 class="fn" id="QCustom3DItem"><a name="QCustom3DItem"></a>QCustom3DItem::<span class="name">QCustom3DItem</span>(<span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructs a custom 3D item with the specified <i>parent</i>.</p>
<!-- @@@QCustom3DItem -->
<!-- $$$QCustom3DItem$$$QCustom3DItemconstQString&constQVector3D&constQVector3D&constQQuaternion&constQImage&QObject* -->
<h3 class="fn" id="QCustom3DItem-1"><a name="QCustom3DItem-1"></a>QCustom3DItem::<span class="name">QCustom3DItem</span>(const <span class="type">QString</span> &amp;<i>meshFile</i>, const <span class="type">QVector3D</span> &amp;<i>position</i>, const <span class="type">QVector3D</span> &amp;<i>scaling</i>, const <span class="type">QQuaternion</span> &amp;<i>rotation</i>, const <span class="type">QImage</span> &amp;<i>texture</i>, <span class="type">QObject</span> *<i>parent</i> = nullptr)</h3>
<p>Constructs a custom 3D item with the specified <i>meshFile</i>, <i>position</i>, <i>scaling</i>, <i>rotation</i>, <i>texture</i> image, and optional <i>parent</i>.</p>
<!-- @@@QCustom3DItem -->
<!-- $$$~QCustom3DItem[overload1]$$$~QCustom3DItem -->
<h3 class="fn" id="dtor.QCustom3DItem"><a name="dtor.QCustom3DItem"></a><code>[virtual] </code>QCustom3DItem::<span class="name">~QCustom3DItem</span>()</h3>
<p>Deletes the custom 3D item.</p>
<!-- @@@~QCustom3DItem -->
<!-- $$$setRotationAxisAndAngle[overload1]$$$setRotationAxisAndAngleconstQVector3D&float -->
<h3 class="fn" id="setRotationAxisAndAngle"><a name="setRotationAxisAndAngle"></a><span class="type">void</span> QCustom3DItem::<span class="name">setRotationAxisAndAngle</span>(const <span class="type">QVector3D</span> &amp;<i>axis</i>, <span class="type">float</span> <i>angle</i>)</h3>
<p>A convenience function to construct the rotation quaternion from <i>axis</i> and <i>angle</i>.</p>
<p><b>Note: </b>This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.</p>
<p><b>See also </b><a href="qcustom3ditem.html#rotation-prop">rotation</a>.</p>
<!-- @@@setRotationAxisAndAngle -->
<!-- $$$setTextureImage[overload1]$$$setTextureImageconstQImage& -->
<h3 class="fn" id="setTextureImage"><a name="setTextureImage"></a><span class="type">void</span> QCustom3DItem::<span class="name">setTextureImage</span>(const <span class="type">QImage</span> &amp;<i>textureImage</i>)</h3>
<p>Sets the value of <i>textureImage</i> as a QImage for the item. The texture defaults to solid gray.</p>
<p><b>Note: </b>To conserve memory, the given QImage is cleared after a texture is created.</p><!-- @@@setTextureImage -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</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>