OpenLexocad
28.0
|
ProductImpl implements the Product behavior of an object. This is used in Product and SubElement. More...
#include <ProductImpl.h>
Public Member Functions | |
ProductImpl (App::Product *aProduct) | |
~ProductImpl (void) | |
std::shared_ptr< Document > | getDocument () const |
virtual bool | setGeometry (std::shared_ptr< Geometry > geo) |
std::shared_ptr< Geometry > | getGeometry () const |
Geom::Trsf | getGeometryToWorldTransform () const |
Geom::Bnd_Box | getBoundingBox () const |
Geom::Ax2 | getLocalPlacement () const |
void | setLocalPlacement (const Geom::Ax2 &pos) |
Geom::Trsf | getTransform () const |
Geom::Trsf | getLocalToWorldTransform () const |
void | setTransform (const Geom::Trsf &t) |
void | translate (const Geom::Vec &aVec, Geom::CoordSpace aCoordSpace=Geom::CoordSpace::WCS) |
void | rotate (const Geom::Ax1 &axis, double angle, Geom::CoordSpace aCoordSpace=Geom::CoordSpace::WCS) |
bool | getLocalAxes (Geom::Ax2 &localAxes) |
void | setLocalAxes (const Geom::Dir &zHeight, const Geom::Dir &xLength) |
pConstShape | getShape () const |
pConstShape | getLocalShape () const |
void | setOglMaterial (const Draw::OglMaterial &mat, int faceIndex=-1) |
Draw::OglMaterial | getOglMaterial () const |
void | setAmbientColor (const Base::Color &aCol) |
void | setDiffuseColor (const Base::Color &aCol) |
void | setSpecularColor (const Base::Color &aCol) |
void | setEmissiveColor (const Base::Color &aCol) |
void | setReflectiveColor (const Base::Color &aCol) |
void | setShininess (int aVal) |
void | setTransparency (int aVal) |
void | setDrawStyle (const Draw::DrawStyle &ds) |
Draw::DrawStyle | getDrawStyle () const |
void | setLineWidth (float width) |
void | setTexture (const Draw::Texture2 &tex, int faceIndex=-1) |
void | setLengthAndCrossTexture (const Draw::Texture2 &lengthTexture, const Draw::Texture2 &crossTexture, const Draw::Texture2Transform &lengthTextureTrsf=Draw::Texture2Transform(), const Draw::Texture2Transform &crossTextureTrsf=Draw::Texture2Transform()) |
void | setPositionNb (long value) |
long | getPositionNb () const |
bool | isVisible () const |
void | setVisible (bool onoff) |
std::shared_ptr< PropertyInteger > | registerPropertyInteger (const std::string &aName, int aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyEnum > | registerPropertyEnum (const std::string &aName, int aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyDouble > | registerPropertyDouble (const std::string &aName, double aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyButton > | registerPropertyButton (const std::string &aName, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyBool > | registerPropertyBool (const std::string &aName, bool aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyString > | registerPropertyString (const std::string &aName, const Base::String &aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< PropertyColor > | registerPropertyColor (const std::string &aName, const Base::Color &aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1) |
std::shared_ptr< OpenLxApp::Property > | getProperty (const std::string &aName) const |
std::map< std::string, std::shared_ptr< Property > > | getPropertyMap () const |
std::shared_ptr< PropertyInteger > | getPropertyInteger (const std::string &aName) const |
std::shared_ptr< PropertyEnum > | getPropertyEnum (const std::string &aName) const |
std::shared_ptr< PropertyDouble > | getPropertyDouble (const std::string &aName) const |
std::shared_ptr< PropertyButton > | getPropertyButton (const std::string &aName) const |
std::shared_ptr< PropertyBool > | getPropertyBool (const std::string &aName) const |
std::shared_ptr< PropertyString > | getPropertyString (const std::string &aName) const |
std::shared_ptr< PropertyColor > | getPropertyColor (const std::string &aName) const |
bool | isRegisteredProperty (const std::string &aName) const |
int | getPythonProductVersion () const |
void | setPythonProductVersion (int pythonProductVersion) const |
void | translateAfterScaled (const Geom::Vec &aVec, const Geom::Pnt &aScaleBasePnt) |
void | setStandardManipulatorPolicy (const Core::StandardManipulatorPolicy &aPolicy) |
void | setPropertyHeader (const Base::String &aDefaultName, int aTranslationId) |
void | setPropertyGroupName (const Base::String &aDefaultName, int aTranslationId) |
Base::String | getPropertyHeader () const |
Base::String | getPropertyGroupName () const |
std::shared_ptr< PropertyUser > | getPropertyUser (const std::string &aName) const |
std::vector< std::shared_ptr< PropertyUser > > | getPropertyUser () const |
std::vector< Base::String > | getPropertySetNames () const |
std::shared_ptr< PropertySet > | getPropertySetByName (const Base::String &aName) const |
template<typename T > | |
bool | registerPythonClass (std::shared_ptr< T > aObject, const std::string &aClassName, const std::string &aParentClassName) |
template<typename T > | |
void | onChange (std::shared_ptr< T > aObject, Core::DocObject *aCaller, const Core::DocObjectObserverMsg &aReason) |
ProductImpl implements the Product behavior of an object. This is used in Product and SubElement.
OpenLxApp::ProductImpl::ProductImpl | ( | App::Product * | aProduct | ) |
OpenLxApp::ProductImpl::~ProductImpl | ( | void | ) |
Geom::Bnd_Box OpenLxApp::ProductImpl::getBoundingBox | ( | ) | const |
std::shared_ptr<Document> OpenLxApp::ProductImpl::getDocument | ( | ) | const |
Draw::DrawStyle OpenLxApp::ProductImpl::getDrawStyle | ( | ) | const |
std::shared_ptr<Geometry> OpenLxApp::ProductImpl::getGeometry | ( | ) | const |
Geom::Trsf OpenLxApp::ProductImpl::getGeometryToWorldTransform | ( | ) | const |
bool OpenLxApp::ProductImpl::getLocalAxes | ( | Geom::Ax2 & | localAxes | ) |
Geom::Ax2 OpenLxApp::ProductImpl::getLocalPlacement | ( | ) | const |
pConstShape OpenLxApp::ProductImpl::getLocalShape | ( | ) | const |
Geom::Trsf OpenLxApp::ProductImpl::getLocalToWorldTransform | ( | ) | const |
Draw::OglMaterial OpenLxApp::ProductImpl::getOglMaterial | ( | ) | const |
long OpenLxApp::ProductImpl::getPositionNb | ( | ) | const |
std::shared_ptr<OpenLxApp::Property> OpenLxApp::ProductImpl::getProperty | ( | const std::string & | aName | ) | const |
std::shared_ptr<PropertyBool> OpenLxApp::ProductImpl::getPropertyBool | ( | const std::string & | aName | ) | const |
std::shared_ptr<PropertyButton> OpenLxApp::ProductImpl::getPropertyButton | ( | const std::string & | aName | ) | const |
std::shared_ptr<PropertyColor> OpenLxApp::ProductImpl::getPropertyColor | ( | const std::string & | aName | ) | const |
std::shared_ptr<PropertyDouble> OpenLxApp::ProductImpl::getPropertyDouble | ( | const std::string & | aName | ) | const |
std::shared_ptr<PropertyEnum> OpenLxApp::ProductImpl::getPropertyEnum | ( | const std::string & | aName | ) | const |
Base::String OpenLxApp::ProductImpl::getPropertyGroupName | ( | ) | const |
Base::String OpenLxApp::ProductImpl::getPropertyHeader | ( | ) | const |
std::shared_ptr<PropertyInteger> OpenLxApp::ProductImpl::getPropertyInteger | ( | const std::string & | aName | ) | const |
std::map<std::string, std::shared_ptr<Property> > OpenLxApp::ProductImpl::getPropertyMap | ( | ) | const |
std::shared_ptr<PropertySet> OpenLxApp::ProductImpl::getPropertySetByName | ( | const Base::String & | aName | ) | const |
std::vector<Base::String> OpenLxApp::ProductImpl::getPropertySetNames | ( | ) | const |
std::shared_ptr<PropertyString> OpenLxApp::ProductImpl::getPropertyString | ( | const std::string & | aName | ) | const |
std::vector<std::shared_ptr<PropertyUser> > OpenLxApp::ProductImpl::getPropertyUser | ( | ) | const |
std::shared_ptr<PropertyUser> OpenLxApp::ProductImpl::getPropertyUser | ( | const std::string & | aName | ) | const |
int OpenLxApp::ProductImpl::getPythonProductVersion | ( | ) | const |
pConstShape OpenLxApp::ProductImpl::getShape | ( | ) | const |
Geom::Trsf OpenLxApp::ProductImpl::getTransform | ( | ) | const |
bool OpenLxApp::ProductImpl::isRegisteredProperty | ( | const std::string & | aName | ) | const |
bool OpenLxApp::ProductImpl::isVisible | ( | ) | const |
|
inline |
std::shared_ptr<PropertyBool> OpenLxApp::ProductImpl::registerPropertyBool | ( | const std::string & | aName, |
bool | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyButton> OpenLxApp::ProductImpl::registerPropertyButton | ( | const std::string & | aName, |
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyColor> OpenLxApp::ProductImpl::registerPropertyColor | ( | const std::string & | aName, |
const Base::Color & | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyDouble> OpenLxApp::ProductImpl::registerPropertyDouble | ( | const std::string & | aName, |
double | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyEnum> OpenLxApp::ProductImpl::registerPropertyEnum | ( | const std::string & | aName, |
int | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyInteger> OpenLxApp::ProductImpl::registerPropertyInteger | ( | const std::string & | aName, |
int | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
std::shared_ptr<PropertyString> OpenLxApp::ProductImpl::registerPropertyString | ( | const std::string & | aName, |
const Base::String & | aDefaultValue, | ||
Property::Visible | aVisible = Property::VISIBLE , |
||
Property::Editable | aEditable = Property::EDITABLE , |
||
int | aTranslationId = -1 |
||
) |
|
inline |
Implementation of registerPythonClass
[in] | T | aCaller: The calling instance |
[in] | const | std::string & aClassName : The name of the Python class. |
[in] | const | std::string & aParentClassName : The full name of the parent class (or super class) e.g. OpenLxApp.Element |
void OpenLxApp::ProductImpl::rotate | ( | const Geom::Ax1 & | axis, |
double | angle, | ||
Geom::CoordSpace | aCoordSpace = Geom::CoordSpace::WCS |
||
) |
void OpenLxApp::ProductImpl::setAmbientColor | ( | const Base::Color & | aCol | ) |
void OpenLxApp::ProductImpl::setDiffuseColor | ( | const Base::Color & | aCol | ) |
void OpenLxApp::ProductImpl::setDrawStyle | ( | const Draw::DrawStyle & | ds | ) |
void OpenLxApp::ProductImpl::setEmissiveColor | ( | const Base::Color & | aCol | ) |
|
virtual |
void OpenLxApp::ProductImpl::setLengthAndCrossTexture | ( | const Draw::Texture2 & | lengthTexture, |
const Draw::Texture2 & | crossTexture, | ||
const Draw::Texture2Transform & | lengthTextureTrsf = Draw::Texture2Transform() , |
||
const Draw::Texture2Transform & | crossTextureTrsf = Draw::Texture2Transform() |
||
) |
void OpenLxApp::ProductImpl::setLineWidth | ( | float | width | ) |
void OpenLxApp::ProductImpl::setLocalPlacement | ( | const Geom::Ax2 & | pos | ) |
void OpenLxApp::ProductImpl::setOglMaterial | ( | const Draw::OglMaterial & | mat, |
int | faceIndex = -1 |
||
) |
void OpenLxApp::ProductImpl::setPositionNb | ( | long | value | ) |
void OpenLxApp::ProductImpl::setPropertyGroupName | ( | const Base::String & | aDefaultName, |
int | aTranslationId | ||
) |
void OpenLxApp::ProductImpl::setPropertyHeader | ( | const Base::String & | aDefaultName, |
int | aTranslationId | ||
) |
void OpenLxApp::ProductImpl::setPythonProductVersion | ( | int | pythonProductVersion | ) | const |
void OpenLxApp::ProductImpl::setReflectiveColor | ( | const Base::Color & | aCol | ) |
void OpenLxApp::ProductImpl::setShininess | ( | int | aVal | ) |
void OpenLxApp::ProductImpl::setSpecularColor | ( | const Base::Color & | aCol | ) |
void OpenLxApp::ProductImpl::setStandardManipulatorPolicy | ( | const Core::StandardManipulatorPolicy & | aPolicy | ) |
void OpenLxApp::ProductImpl::setTexture | ( | const Draw::Texture2 & | tex, |
int | faceIndex = -1 |
||
) |
void OpenLxApp::ProductImpl::setTransform | ( | const Geom::Trsf & | t | ) |
void OpenLxApp::ProductImpl::setTransparency | ( | int | aVal | ) |
void OpenLxApp::ProductImpl::setVisible | ( | bool | onoff | ) |
void OpenLxApp::ProductImpl::translate | ( | const Geom::Vec & | aVec, |
Geom::CoordSpace | aCoordSpace = Geom::CoordSpace::WCS |
||
) |
void OpenLxApp::ProductImpl::translateAfterScaled | ( | const Geom::Vec & | aVec, |
const Geom::Pnt & | aScaleBasePnt | ||
) |