QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
Qgs3DExportObject Class Reference

Manages the data of each object of the scene (positions, normals, texture coordinates ...) since each object. More...

#include <qgs3dexportobject.h>

Public Types

enum  ObjectType { TriangularFaces , LineStrip , Points }
 The type of exported geometry. More...

Public Member Functions

 Qgs3DExportObject (const QString &name)
 Qgs3DExportObject Constructs an export object that will be filled with coordinates later.
QVector< unsigned int > indexes () const
 Returns the vertex indexes.
QString name () const
 Returns the object name.
QVector< float > normals () const
 Returns the vertex normal coordinates.
void objectBounds (float &minX, float &minY, float &minZ, float &maxX, float &maxY, float &maxZ) const
 Updates the box bounds explained with the current object bounds This expands the bounding box if the current object outside the bounds of the already established bounds.
QString saveMaterial (QTextStream &mtlOut, const QString &folder) const
 saves the texture of the object and material information
void saveTo (QTextStream &out, float scale, const QVector3D &center, int precision=6) const
 Saves the current object to the output stream while scaling the object and centering it to be visible in exported scene.
void setName (const QString &name)
 Sets the object name.
void setSmoothEdges (bool smoothEdges)
 Sets whether triangles edges will look smooth.
void setTextureImage (const QImage &image)
 Sets the texture image used by the object.
void setupLine (const QVector< float > &positionsBuffer)
 sets line indexes and positions coordinates
void setupMaterial (QgsAbstractMaterialSettings *material)
 Sets the material parameters (diffuse color, shininess...) to be exported in the .mtl file.
void setupNormalCoordinates (const QVector< float > &normalsBuffer, const QMatrix4x4 &transform)
 Sets normal coordinates for each vertex.
void setupPoint (const QVector< float > &positionsBuffer)
 sets point positions coordinates
void setupTextureCoordinates (const QVector< float > &texturesBuffer)
 Sets texture coordinates for each vertex.
void setupTriangle (const QVector< float > &positionsBuffer, const QVector< uint > &facesIndexes, const QMatrix4x4 &transform)
 sets triangle indexes and positions coordinates
bool smoothEdges () const
 Returns whether object edges will look smooth.
QImage textureImage () const
 Returns the texture image used by the object.
QVector< float > texturesUV () const
 Returns the vertex texture coordinates.
ObjectType type () const
 Returns the object type.
QVector< float > vertexPosition () const
 Returns the vertex coordinates.

Detailed Description

Manages the data of each object of the scene (positions, normals, texture coordinates ...) since each object.

Note
Not available in Python bindings
Since
QGIS 3.16

Definition at line 41 of file qgs3dexportobject.h.

Member Enumeration Documentation

◆ ObjectType

The type of exported geometry.

Enumerator
TriangularFaces 
LineStrip 
Points 

Definition at line 45 of file qgs3dexportobject.h.

Constructor & Destructor Documentation

◆ Qgs3DExportObject()

Qgs3DExportObject::Qgs3DExportObject ( const QString & name)
inline

Qgs3DExportObject Constructs an export object that will be filled with coordinates later.

Parameters
nameThe name of the parent (Will be useful to define scene hierarchy)

Definition at line 57 of file qgs3dexportobject.h.

Member Function Documentation

◆ indexes()

QVector< unsigned int > Qgs3DExportObject::indexes ( ) const
inline

Returns the vertex indexes.

Definition at line 116 of file qgs3dexportobject.h.

◆ name()

QString Qgs3DExportObject::name ( ) const
inline

Returns the object name.

Definition at line 61 of file qgs3dexportobject.h.

◆ normals()

QVector< float > Qgs3DExportObject::normals ( ) const
inline

Returns the vertex normal coordinates.

Definition at line 110 of file qgs3dexportobject.h.

◆ objectBounds()

void Qgs3DExportObject::objectBounds ( float & minX,
float & minY,
float & minZ,
float & maxX,
float & maxY,
float & maxZ ) const

Updates the box bounds explained with the current object bounds This expands the bounding box if the current object outside the bounds of the already established bounds.

Definition at line 125 of file qgs3dexportobject.cpp.

◆ saveMaterial()

QString Qgs3DExportObject::saveMaterial ( QTextStream & mtlOut,
const QString & folder ) const

saves the texture of the object and material information

Definition at line 228 of file qgs3dexportobject.cpp.

◆ saveTo()

void Qgs3DExportObject::saveTo ( QTextStream & out,
float scale,
const QVector3D & center,
int precision = 6 ) const

Saves the current object to the output stream while scaling the object and centering it to be visible in exported scene.

Definition at line 141 of file qgs3dexportobject.cpp.

◆ setName()

void Qgs3DExportObject::setName ( const QString & name)
inline

Sets the object name.

Definition at line 63 of file qgs3dexportobject.h.

◆ setSmoothEdges()

void Qgs3DExportObject::setSmoothEdges ( bool smoothEdges)
inline

Sets whether triangles edges will look smooth.

Definition at line 71 of file qgs3dexportobject.h.

◆ setTextureImage()

void Qgs3DExportObject::setTextureImage ( const QImage & image)
inline

Sets the texture image used by the object.

Definition at line 90 of file qgs3dexportobject.h.

◆ setupLine()

void Qgs3DExportObject::setupLine ( const QVector< float > & positionsBuffer)

sets line indexes and positions coordinates

Definition at line 69 of file qgs3dexportobject.cpp.

◆ setupMaterial()

void Qgs3DExportObject::setupMaterial ( QgsAbstractMaterialSettings * material)

Sets the material parameters (diffuse color, shininess...) to be exported in the .mtl file.

Definition at line 115 of file qgs3dexportobject.cpp.

◆ setupNormalCoordinates()

void Qgs3DExportObject::setupNormalCoordinates ( const QVector< float > & normalsBuffer,
const QMatrix4x4 & transform )

Sets normal coordinates for each vertex.

Definition at line 86 of file qgs3dexportobject.cpp.

◆ setupPoint()

void Qgs3DExportObject::setupPoint ( const QVector< float > & positionsBuffer)

sets point positions coordinates

Definition at line 80 of file qgs3dexportobject.cpp.

◆ setupTextureCoordinates()

void Qgs3DExportObject::setupTextureCoordinates ( const QVector< float > & texturesBuffer)

Sets texture coordinates for each vertex.

Definition at line 109 of file qgs3dexportobject.cpp.

◆ setupTriangle()

void Qgs3DExportObject::setupTriangle ( const QVector< float > & positionsBuffer,
const QVector< uint > & facesIndexes,
const QMatrix4x4 & transform )

sets triangle indexes and positions coordinates

Definition at line 50 of file qgs3dexportobject.cpp.

◆ smoothEdges()

bool Qgs3DExportObject::smoothEdges ( ) const
inline

Returns whether object edges will look smooth.

Definition at line 69 of file qgs3dexportobject.h.

◆ textureImage()

QImage Qgs3DExportObject::textureImage ( ) const
inline

Returns the texture image used by the object.

Definition at line 92 of file qgs3dexportobject.h.

◆ texturesUV()

QVector< float > Qgs3DExportObject::texturesUV ( ) const
inline

Returns the vertex texture coordinates.

Definition at line 113 of file qgs3dexportobject.h.

◆ type()

ObjectType Qgs3DExportObject::type ( ) const
inline

Returns the object type.

Definition at line 66 of file qgs3dexportobject.h.

◆ vertexPosition()

QVector< float > Qgs3DExportObject::vertexPosition ( ) const
inline

Returns the vertex coordinates.

Definition at line 107 of file qgs3dexportobject.h.


The documentation for this class was generated from the following files: