18 #ifndef PRTX_SHAPEUTILS_H_ 19 #define PRTX_SHAPEUTILS_H_ 21 #include "prt/Callbacks.h" 23 #include "prtx/prtx.h" 24 #include "prtx/Shape.h" 25 #include "prtx/InitialShape.h" 36 namespace ShapeUtils {
79 assert(trafo.size() == 16);
80 vOut[0] = trafo[0]*vIn[0] + trafo[4]*vIn[1] + trafo[ 8]*vIn[2] + trafo[12];
81 vOut[1] = trafo[1]*vIn[0] + trafo[5]*vIn[1] + trafo[ 9]*vIn[2] + trafo[13];
82 vOut[2] = trafo[2]*vIn[0] + trafo[6]*vIn[1] + trafo[10]*vIn[2] + trafo[14];
void getObjectToWorldTrafo(const Shape &shape, DoubleVector &trafoMatrix)
void getBoundingBoxWorld(const prtx::Shape &shape, prtx::DoubleVector &bbMinMaxExtent)
std::vector< double > DoubleVector
vector of double
Definition: Types.h:32
std::wstring getStyledRuleSignature(const Shape &shape)
MaterialPtr combineMaterials(const Material &shapeMat, const Material &meshMat)
void transformPoint(const prtx::DoubleVector &trafo, const double vIn[3], double vOut[3])
Definition: ShapeUtils.h:78
std::shared_ptr< Material > MaterialPtr
shared Material pointer
Definition: DataBackend.h:45
std::wstring getStyledRuleName(const Shape &shape)
Definition: Material.h:202
void getGeometryToWorldTrafo(const Shape &shape, DoubleVector &trafoMatrix)
std::wstring getRuleArguments(const Shape &shape)
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
void getPivotToWorldTrafo(const Shape &shape, DoubleVector &trafoMatrix)
std::wstring getRuleName(const Shape &shape)
std::wstring getRuleParameters(const Shape &shape)