Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ObjVisualization3D< T > Class Template Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Visualization/ObjVisualization3D.hpp>

+ Inheritance diagram for Acts::ObjVisualization3D< T >:
+ Collaboration diagram for Acts::ObjVisualization3D< T >:

Public Types

using ValueType = T
 Stored value type, should be double or float.
 
using VertexType = Eigen::Matrix< ValueType, 3, 1 >
 Type of a vertex based on the value type.
 
using LineType = std::pair< size_t, size_t >
 Type of a line.
 
- Public Types inherited from Acts::IVisualization3D
using FaceType = std::vector< size_t >
 

Public Member Functions

 ObjVisualization3D (unsigned int prec=4, double scale=1.)
 
void vertex (const Vector3 &vtx, ColorRGB color={0, 0, 0}) final
 
 
void line (const Vector3 &a, const Vector3 &b, ColorRGB color={0, 0, 0}) final
 
 
void face (const std::vector< Vector3 > &vtxs, ColorRGB color={0, 0, 0}) final
 
 
void faces (const std::vector< Vector3 > &vtxs, const std::vector< FaceType > &faces, ColorRGB color={0, 0, 0}) final
 
 
void write (const std::string &path) const final
 
 
void write (std::ostream &os) const final
 
 
void write (std::ostream &os, std::ostream &mos) const
 
void clear () final
 
 

Private Attributes

unsigned int m_outputPrecision = 4
 The output parameters.
 
double m_outputScalor = 1.
 
std::vector< VertexTypem_vertices
 The object data to be written.
 
std::vector< FaceTypem_faces
 
std::vector< LineTypem_lines
 
std::map< size_t, ColorRGBm_lineColors
 Map of colors to be written at given index position.
 
std::map< size_t, ColorRGBm_vertexColors
 
std::map< size_t, ColorRGBm_faceColors
 

Additional Inherited Members

- Protected Member Functions inherited from Acts::IVisualization3D
bool hasExtension (const std::string &path) const
 
void replaceExtension (std::string &path, const std::string &suffix) const
 

Detailed Description

template<typename T = double>
class Acts::ObjVisualization3D< T >

This helper produces output in the OBJ format. Note that colors are not supported in this implementation.

Definition at line 29 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 29 of file ObjVisualization3D.hpp

Member Typedef Documentation

template<typename T = double>
using Acts::ObjVisualization3D< T >::LineType = std::pair<size_t, size_t>

Type of a line.

Definition at line 41 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 41 of file ObjVisualization3D.hpp

template<typename T = double>
using Acts::ObjVisualization3D< T >::ValueType = T

Stored value type, should be double or float.

Definition at line 35 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 35 of file ObjVisualization3D.hpp

template<typename T = double>
using Acts::ObjVisualization3D< T >::VertexType = Eigen::Matrix<ValueType, 3, 1>

Type of a vertex based on the value type.

Definition at line 38 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 38 of file ObjVisualization3D.hpp

Constructor & Destructor Documentation

template<typename T = double>
Acts::ObjVisualization3D< T >::ObjVisualization3D ( unsigned int  prec = 4,
double  scale = 1. 
)
inline

Constructor that allows to set scalor and precision

Parameters
precThe output precision with std::setprecision
scaleAn (optional) scaling for the writing out

Definition at line 46 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 46 of file ObjVisualization3D.hpp

Member Function Documentation

template<typename T >
void Acts::ObjVisualization3D< T >::clear ( )
finalvirtual

Remove all contents of this helper

Implements Acts::IVisualization3D.

Definition at line 169 of file ObjVisualization3D.ipp.

View newest version in sPHENIX GitHub at line 169 of file ObjVisualization3D.ipp

References Acts::ObjVisualization3D< T >::clear().

Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::ObjVisualization3D< T >::clear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
void Acts::ObjVisualization3D< T >::face ( const std::vector< Vector3 > &  vtxs,
ColorRGB  color = {0, 0, 0} 
)
finalvirtual

Draw a face that connects a list of vertices.

Note
Depending on the helper implementation, out of plane vertices might be handled differently.
Parameters
vtxsThe vertices that make up the face
colorThe color of the face

Implements Acts::IVisualization3D.

Definition at line 28 of file ObjVisualization3D.ipp.

View newest version in sPHENIX GitHub at line 28 of file ObjVisualization3D.ipp

References color, and testing::internal::move().

+ Here is the call graph for this function:

template<typename T >
void Acts::ObjVisualization3D< T >::faces ( const std::vector< Vector3 > &  vtxs,
const std::vector< FaceType > &  faces,
ColorRGB  color = {0, 0, 0} 
)
finalvirtual

Draw a faces that connects a list of vertices - expert only

Note
Depending on the helper implementation, out of plane vertices might be handled differently.
Parameters
vtxsThe vertices that make up the faceS
facesThe face presections (i.e. connecting vertices)
colorThe color of the face

Implements Acts::IVisualization3D.

Definition at line 43 of file ObjVisualization3D.ipp.

View newest version in sPHENIX GitHub at line 43 of file ObjVisualization3D.ipp

References color, and Acts::Test::transform.

template<typename T >
void Acts::ObjVisualization3D< T >::line ( const Vector3 a,
const Vector3 b,
ColorRGB  color = {0, 0, 0} 
)
finalvirtual

Draw a line from a vertex to another

Parameters
aThe start vertex
bThe end vertex
colorThe color of the line

Implements Acts::IVisualization3D.

Definition at line 16 of file ObjVisualization3D.ipp.

View newest version in sPHENIX GitHub at line 16 of file ObjVisualization3D.ipp

References color.

Referenced by item.Item::__eq__(), and item.Item::__hash__().

+ Here is the caller graph for this function:

template<typename T >
void Acts::ObjVisualization3D< T >::vertex ( const Vector3 vtx,
ColorRGB  color = {0, 0, 0} 
)
finalvirtual

Draw a vertex at a given location and a color.

Parameters
vtxThe vertex position
colorThe color

Implements Acts::IVisualization3D.

Definition at line 10 of file ObjVisualization3D.ipp.

View newest version in sPHENIX GitHub at line 10 of file ObjVisualization3D.ipp

References color.

template<typename T >
void Acts::ObjVisualization3D< T >::write ( const std::string &  path) const
finalvirtual

Write the content of the helper to an outstream.

Parameters
pathis the file system path for writing the file
Note
will change to std::filesystem::path once gcc9 is standard

Implements Acts::IVisualization3D.

Definition at line 73 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 73 of file ObjVisualization3D.hpp

Referenced by Acts::Python::addObj(), Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_FIXTURE_TEST_CASE(), and ActsExamples::MockupSectorBuilder::drawSector().

+ Here is the caller graph for this function:

template<typename T >
void Acts::ObjVisualization3D< T >::write ( std::ostream &  os) const
finalvirtual

Write the content of the helper to an outstream.

Parameters
osThe output stream for file

Implements Acts::IVisualization3D.

Definition at line 91 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 91 of file ObjVisualization3D.hpp

template<typename T >
void Acts::ObjVisualization3D< T >::write ( std::ostream &  os,
std::ostream &  mos 
) const

Write the object and the material file

Parameters
osthe output stream for the object
mosthe output stream for the auxiliary material file

Definition at line 97 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 97 of file ObjVisualization3D.hpp

Member Data Documentation

template<typename T = double>
std::map<size_t, ColorRGB> Acts::ObjVisualization3D< T >::m_faceColors
private

Definition at line 89 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 89 of file ObjVisualization3D.hpp

template<typename T = double>
std::vector<FaceType> Acts::ObjVisualization3D< T >::m_faces
private

Definition at line 84 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 84 of file ObjVisualization3D.hpp

template<typename T = double>
std::map<size_t, ColorRGB> Acts::ObjVisualization3D< T >::m_lineColors
private

Map of colors to be written at given index position.

Definition at line 87 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 87 of file ObjVisualization3D.hpp

template<typename T = double>
std::vector<LineType> Acts::ObjVisualization3D< T >::m_lines
private

Definition at line 85 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 85 of file ObjVisualization3D.hpp

template<typename T = double>
unsigned int Acts::ObjVisualization3D< T >::m_outputPrecision = 4
private

The output parameters.

Definition at line 80 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 80 of file ObjVisualization3D.hpp

template<typename T = double>
double Acts::ObjVisualization3D< T >::m_outputScalor = 1.
private

Definition at line 81 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 81 of file ObjVisualization3D.hpp

template<typename T = double>
std::map<size_t, ColorRGB> Acts::ObjVisualization3D< T >::m_vertexColors
private

Definition at line 88 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 88 of file ObjVisualization3D.hpp

template<typename T = double>
std::vector<VertexType> Acts::ObjVisualization3D< T >::m_vertices
private

The object data to be written.

Definition at line 83 of file ObjVisualization3D.hpp.

View newest version in sPHENIX GitHub at line 83 of file ObjVisualization3D.hpp


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