ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::io::rpc::messages::MeshData Struct Reference

struct for storing MeshData, e.g., PointClouds, TriangleMesh, .. More...

#include <Messages.h>

Collaboration diagram for cloudViewer::io::rpc::messages::MeshData:

Public Member Functions

void SetO3DTypeToPointCloud ()
 
void SetO3DTypeToLineSet ()
 
void SetO3DTypeToTriangleMesh ()
 
bool O3DTypeIsPointCloud () const
 
bool O3DTypeIsLineSet () const
 
bool O3DTypeIsTriangleMesh () const
 
bool CheckVertices (std::string &errstr) const
 
bool CheckFaces (std::string &errstr) const
 
bool CheckO3DType (std::string &errstr) const
 
bool CheckMessage (std::string &errstr) const
 
 MSGPACK_DEFINE_MAP (o3d_type, vertices, vertex_attributes, faces, face_attributes, lines, line_attributes, material, material_scalar_attributes, material_vector_attributes, texture_maps)
 

Static Public Member Functions

static std::string MsgId ()
 

Public Attributes

std::string o3d_type
 
Array vertices
 shape must be [num_verts,3] More...
 
std::map< std::string, Arrayvertex_attributes
 
Array faces
 
std::map< std::string, Arrayface_attributes
 stores arbitrary attributes for each face More...
 
Array lines
 
std::map< std::string, Arrayline_attributes
 stores arbitrary attributes for each line More...
 
std::string material = ""
 Material for DrawableGeometry. More...
 
std::map< std::string, float > material_scalar_attributes
 Material scalar properties. More...
 
std::map< std::string, std::array< float, 4 > > material_vector_attributes
 Material vector[4] properties. More...
 
std::map< std::string, Arraytexture_maps
 map of arrays that can be interpreted as textures More...
 

Detailed Description

struct for storing MeshData, e.g., PointClouds, TriangleMesh, ..

Definition at line 255 of file Messages.h.

Member Function Documentation

◆ CheckFaces()

◆ CheckMessage()

bool cloudViewer::io::rpc::messages::MeshData::CheckMessage ( std::string &  errstr) const
inline

◆ CheckO3DType()

bool cloudViewer::io::rpc::messages::MeshData::CheckO3DType ( std::string &  errstr) const
inline

Definition at line 355 of file Messages.h.

References o3d_type, O3DTypeIsLineSet(), O3DTypeIsPointCloud(), and O3DTypeIsTriangleMesh().

Referenced by CheckMessage().

◆ CheckVertices()

bool cloudViewer::io::rpc::messages::MeshData::CheckVertices ( std::string &  errstr) const
inline

◆ MsgId()

static std::string cloudViewer::io::rpc::messages::MeshData::MsgId ( )
inlinestatic

Definition at line 256 of file Messages.h.

◆ MSGPACK_DEFINE_MAP()

cloudViewer::io::rpc::messages::MeshData::MSGPACK_DEFINE_MAP ( o3d_type  ,
vertices  ,
vertex_attributes  ,
faces  ,
face_attributes  ,
lines  ,
line_attributes  ,
material  ,
material_scalar_attributes  ,
material_vector_attributes  ,
texture_maps   
)

◆ O3DTypeIsLineSet()

bool cloudViewer::io::rpc::messages::MeshData::O3DTypeIsLineSet ( ) const
inline

Definition at line 305 of file Messages.h.

References o3d_type.

Referenced by CheckO3DType(), and cloudViewer::io::rpc::MeshDataToGeometry().

◆ O3DTypeIsPointCloud()

bool cloudViewer::io::rpc::messages::MeshData::O3DTypeIsPointCloud ( ) const
inline

Definition at line 304 of file Messages.h.

References o3d_type.

Referenced by CheckO3DType(), and cloudViewer::io::rpc::MeshDataToGeometry().

◆ O3DTypeIsTriangleMesh()

bool cloudViewer::io::rpc::messages::MeshData::O3DTypeIsTriangleMesh ( ) const
inline

Definition at line 306 of file Messages.h.

References o3d_type.

Referenced by CheckO3DType(), and cloudViewer::io::rpc::MeshDataToGeometry().

◆ SetO3DTypeToLineSet()

void cloudViewer::io::rpc::messages::MeshData::SetO3DTypeToLineSet ( )
inline

Definition at line 301 of file Messages.h.

References o3d_type.

Referenced by cloudViewer::io::rpc::GeometryToMeshData().

◆ SetO3DTypeToPointCloud()

void cloudViewer::io::rpc::messages::MeshData::SetO3DTypeToPointCloud ( )
inline

Definition at line 300 of file Messages.h.

References o3d_type.

Referenced by cloudViewer::io::rpc::GeometryToMeshData().

◆ SetO3DTypeToTriangleMesh()

void cloudViewer::io::rpc::messages::MeshData::SetO3DTypeToTriangleMesh ( )
inline

Member Data Documentation

◆ face_attributes

std::map<std::string, Array> cloudViewer::io::rpc::messages::MeshData::face_attributes

◆ faces

Array cloudViewer::io::rpc::messages::MeshData::faces

This array stores vertex indices to define faces. The array can be of rank 1 or 2. An array of rank 2 with shape [num_faces,n] defines num_faces n-gons. If the rank of the array is 1 then polys of different lengths are stored sequentially. Each polygon is stored as a sequence 'n i1 i2 ... in' with n>=3. The type of the array must be int32_t or int64_t

Definition at line 276 of file Messages.h.

Referenced by CheckFaces(), cloudViewer::io::rpc::GeometryToMeshData(), cloudViewer::io::rpc::MeshDataToGeometry(), cloudViewer::visualization::MessageProcessor::ProcessMessage(), cloudViewer::io::rpc::SetMeshData(), and cloudViewer::io::rpc::SetTriangleMesh().

◆ line_attributes

std::map<std::string, Array> cloudViewer::io::rpc::messages::MeshData::line_attributes

stores arbitrary attributes for each line

Definition at line 289 of file Messages.h.

Referenced by cloudViewer::io::rpc::GeometryToMeshData(), cloudViewer::io::rpc::MeshDataToGeometry(), and cloudViewer::io::rpc::SetMeshData().

◆ lines

Array cloudViewer::io::rpc::messages::MeshData::lines

This array stores vertex indices to define lines. The array can be of rank 1 or 2. An array of rank 2 with shape [num_lines,n] defines num_lines linestrips with n vertices. If the rank of the array is 1 then linestrips with different number of vertices are stored sequentially. Each linestrip is stored as a sequence 'n i1 i2 ... in' with n>=2. The type of the array must be int32_t or int64_t

Definition at line 287 of file Messages.h.

Referenced by cloudViewer::io::rpc::GeometryToMeshData(), cloudViewer::io::rpc::MeshDataToGeometry(), and cloudViewer::io::rpc::SetMeshData().

◆ material

std::string cloudViewer::io::rpc::messages::MeshData::material = ""

◆ material_scalar_attributes

std::map<std::string, float> cloudViewer::io::rpc::messages::MeshData::material_scalar_attributes

◆ material_vector_attributes

std::map<std::string, std::array<float, 4> > cloudViewer::io::rpc::messages::MeshData::material_vector_attributes

◆ o3d_type

std::string cloudViewer::io::rpc::messages::MeshData::o3d_type

The original CloudViewer geometry type from which the MeshData object has been created. This is one of "PointCloud", "LineSet", "TriangleMesh". If this field is empty CloudViewer will infer the type based on the presence of lines and faces.

Definition at line 262 of file Messages.h.

Referenced by CheckO3DType(), O3DTypeIsLineSet(), O3DTypeIsPointCloud(), O3DTypeIsTriangleMesh(), cloudViewer::io::rpc::SetMeshData(), SetO3DTypeToLineSet(), SetO3DTypeToPointCloud(), SetO3DTypeToTriangleMesh(), and cloudViewer::io::rpc::SetTriangleMesh().

◆ texture_maps

std::map<std::string, Array> cloudViewer::io::rpc::messages::MeshData::texture_maps

◆ vertex_attributes

std::map<std::string, Array> cloudViewer::io::rpc::messages::MeshData::vertex_attributes

◆ vertices


The documentation for this struct was generated from the following file: