openmbvcppinterface  3.1.0
OpenMBV C++ Interface
OpenMBV::Extrusion Class Reference

#include <extrusion.h>

Inheritance diagram for OpenMBV::Extrusion:
[legend]

Public Types

enum  WindingRule {
  odd , nonzero , positive , negative ,
  absGEqTwo
}
 
- Public Types inherited from OpenMBV::Body
enum  DrawStyle { filled , lines , points }
 

Public Member Functions

void setWindingRule (WindingRule windingRule_)
 
WindingRule getWindingRule ()
 
void setHeight (double height_)
 
double getHeight ()
 
void clearContours ()
 
void addContour (const std::shared_ptr< std::vector< std::shared_ptr< PolygonPoint > > > &contour_)
 
std::vector< std::shared_ptr< std::vector< std::shared_ptr< PolygonPoint > > > > & getContours ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
- Public Member Functions inherited from OpenMBV::RigidBody
void setLocalFrame (bool f)
 
bool getLocalFrame ()
 
void setReferenceFrame (bool f)
 
bool getReferenceFrame ()
 
void setPath (bool p)
 
bool getPath ()
 
void setDragger (bool p)
 
bool getDragger ()
 
void setInitialTranslation (const std::vector< double > &initTrans)
 
std::vector< double > getInitialTranslation ()
 
void setInitialTranslation (double x, double y, double z)
 
void setInitialRotation (const std::vector< double > &initRot)
 
std::vector< double > getInitialRotation ()
 
void setInitialRotation (double a, double b, double g)
 
void setScaleFactor (double scale)
 
double getScaleFactor ()
 
template<typename T >
void append (const T &row)
 
int getRows () override
 
std::vector< double > getRow (int i) override
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
std::string getFullName () override
 
std::shared_ptr< GroupgetTopLevelGroup ()
 
std::weak_ptr< CompoundRigidBodygetCompound ()
 
- Public Member Functions inherited from OpenMBV::DynamicColoredBody
void setMinimalColorValue (double min)
 
double getMinimalColorValue ()
 
void setMaximalColorValue (double max)
 
double getMaximalColorValue ()
 
void setDynamicColor (const double col)
 
double getDynamicColor ()
 
void setDiffuseColor (const std::vector< double > &hsv)
 
void setDiffuseColor (double h, double s, double v)
 
std::vector< double > getDiffuseColor ()
 
void setTransparency (double t)
 
double getTransparency ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
- Public Member Functions inherited from OpenMBV::Body
void setOutLine (bool ol)
 
bool getOutLine ()
 
void setShilouetteEdge (bool ol)
 
bool getShilouetteEdge ()
 
void setDrawMethod (DrawStyle ds)
 
DrawStyle getDrawMethod ()
 
void setPointSize (double ps)
 
double getPointSize ()
 
void setLineWidth (double lw)
 
double getLineWidth ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
virtual int getRows ()=0
 
virtual std::vector< double > getRow (int i)=0
 
- Public Member Functions inherited from OpenMBV::Object
void setEnable (bool enable)
 
bool getEnable ()
 
void setBoundingBox (bool bbox)
 
bool getBoundingBox ()
 
void setName (const std::string &name_)
 
std::string getName ()
 
virtual std::string getFullName ()
 
void setEnvironment (bool env)
 
bool getEnvironment ()
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
virtual xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent)
 
std::shared_ptr< GroupgetTopLevelGroup ()
 
std::weak_ptr< GroupgetParent ()
 
H5::GroupBasegetHDF5Group ()
 
std::string getID () const
 
void setID (std::string ID_)
 

Protected Attributes

WindingRule windingRule {odd}
 
double height {1}
 
std::vector< std::shared_ptr< std::vector< std::shared_ptr< PolygonPoint > > > > contour
 
- Protected Attributes inherited from OpenMBV::RigidBody
std::string localFrameStr
 
std::string referenceFrameStr
 
std::string pathStr
 
std::string draggerStr
 
std::vector< double > initialTranslation {3}
 
std::vector< double > initialRotation {3}
 
double scaleFactor {1}
 
H5::VectorSerie< double > * data {nullptr}
 
std::weak_ptr< CompoundRigidBodycompound
 
- Protected Attributes inherited from OpenMBV::DynamicColoredBody
double minimalColorValue {0}
 
double maximalColorValue {1}
 
double dynamicColor
 
std::vector< double > diffuseColor
 
double transparency {0}
 
- Protected Attributes inherited from OpenMBV::Body
std::string outLineStr
 
std::string shilouetteEdgeStr
 
DrawStyle drawMethod {filled}
 
double pointSize {0}
 
double lineWidth {0}
 
- Protected Attributes inherited from OpenMBV::Object
std::string name
 
std::string enableStr
 
std::string boundingBoxStr
 
std::string ID
 
std::string environmentStr
 
std::weak_ptr< Groupparent
 
H5::GroupBasehdf5Group {nullptr}
 
std::string fullName
 

Friends

class ObjectFactory
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMBV::RigidBody
void createHDF5File () override
 
void openHDF5File () override
 
void createHDF5File () override
 
void openHDF5File () override
 
virtual void createHDF5File ()=0
 
virtual void openHDF5File ()=0
 

Detailed Description

A extrusion of a cross section area (with holes)

Member Function Documentation

◆ addContour()

void OpenMBV::Extrusion::addContour ( const std::shared_ptr< std::vector< std::shared_ptr< PolygonPoint > > > &  contour_)
inline

Add a new contour to the extrusion. See setWindingRule of details about how they are combined.

◆ clearContours()

void OpenMBV::Extrusion::clearContours ( )
inline

Clear all previously added contours.

◆ initializeUsingXML()

void OpenMBV::Extrusion::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

Initializes the time invariant part of the object using a XML node

Reimplemented from OpenMBV::DynamicColoredBody.

◆ setHeight()

void OpenMBV::Extrusion::setHeight ( double  height_)
inline

Set the height of the extrusion. The extrusion is along the normal of the cross section area (local z-axis).

◆ setWindingRule()

void OpenMBV::Extrusion::setWindingRule ( WindingRule  windingRule_)
inline

Set the OpenGL winding rule for the tesselation of the cross section area. Allowable values are "odd", "nonzero", "positive", "negative" and "absGEqTwo". See the OpenGL-GLU documentation the the meaning of this values.

◆ writeXMLFile()

DOMElement * OpenMBV::Extrusion::writeXMLFile ( xercesc::DOMNode *  parent)
overridevirtual

Reimplemented from OpenMBV::DynamicColoredBody.


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