7 #include <Draw/DrawStyle.h> 8 #include <Draw/Texture2.h> 9 #include <Draw/Texture2Transform.h> 30 class ExternalPythonTypeObject;
31 class SpatialStructureElement;
46 public std::enable_shared_from_this<Product>
55 virtual bool setGeometry(std::shared_ptr<Geometry> geo);
56 std::shared_ptr<Geometry> getGeometry()
const;
57 Geom::Trsf getGeometryToWorldTransform()
const;
64 void setLocalPlacement(
const Geom::Ax2& pos);
82 void setOglMaterial(
const Draw::OglMaterial& mat,
int faceIndex = -1);
83 Draw::OglMaterial getOglMaterial()
const;
90 void setShininess(
int aVal);
91 void setTransparency(
int aVal);
93 void setDrawStyle(
const Draw::DrawStyle& ds);
94 Draw::DrawStyle getDrawStyle()
const;
95 void setLineWidth(
float width);
96 void setTexture(
const Draw::Texture2& tex,
int faceIndex = -1);
97 void setLengthAndCrossTexture(
const Draw::Texture2& lengthTexture,
98 const Draw::Texture2& crossTexture,
99 const Draw::Texture2Transform& lengthTextureTrsf = Draw::Texture2Transform(),
100 const Draw::Texture2Transform& crossTextureTrsf = Draw::Texture2Transform());
105 std::shared_ptr<SpatialStructureElement> getSpatialStructure()
const;
106 void setSpatialStructure(std::shared_ptr<SpatialStructureElement> aSpatialStructureElement);
111 void setPositionNb(
long value);
112 long getPositionNb()
const;
114 bool isVisible()
const;
115 void setVisible(
bool onoff);
120 bool registerPythonClass(
const std::string& aClassName,
const std::string& aParentClassName);
126 std::shared_ptr<PropertyInteger> registerPropertyInteger(
const std::string& aName,
130 int aTranslationId = -1);
131 std::shared_ptr<PropertyEnum> registerPropertyEnum(
const std::string& aName,
135 int aTranslationId = -1);
137 std::shared_ptr<PropertyDouble> registerPropertyDouble(
const std::string& aName,
138 double aDefaultValue,
141 int aTranslationId = -1);
143 std::shared_ptr<PropertyButton> registerPropertyButton(
const std::string& aName,
146 int aTranslationId = -1);
148 std::shared_ptr<PropertyBool> registerPropertyBool(
const std::string& aName,
152 int aTranslationId = -1);
154 std::shared_ptr<PropertyString> registerPropertyString(
const std::string& aName,
158 int aTranslationId = -1);
160 std::shared_ptr<PropertyColor> registerPropertyColor(
const std::string& aName,
164 int aTranslationId = -1);
166 std::shared_ptr<OpenLxApp::Property> getProperty(
const std::string& aName)
const;
167 std::map<std::string, std::shared_ptr<Property>> getPropertyMap()
const;
168 std::shared_ptr<PropertyInteger> getPropertyInteger(
const std::string& aName)
const;
169 std::shared_ptr<PropertyEnum> getPropertyEnum(
const std::string& aName)
const;
170 std::shared_ptr<PropertyDouble> getPropertyDouble(
const std::string& aName)
const;
171 std::shared_ptr<PropertyButton> getPropertyButton(
const std::string& aName)
const;
172 std::shared_ptr<PropertyBool> getPropertyBool(
const std::string& aName)
const;
173 std::shared_ptr<PropertyString> getPropertyString(
const std::string& aName)
const;
174 std::shared_ptr<PropertyColor> getPropertyColor(
const std::string& aName)
const;
175 bool isRegisteredProperty(
const std::string& aName)
const;
177 virtual void onPropertyChanged(
const std::string& aPropertyName);
179 virtual void translateAfterScaled(
const Geom::Vec& aVec,
const Geom::Pnt& aScaleBasePnt);
182 void setPropertyHeader(
const Base::String& aDefaultName,
int aTranslationId);
183 void setPropertyHeader(
const Base::String& aDefaultName);
184 void setPropertyGroupName(
const Base::String& aDefaultName,
int aTranslationId);
185 void setPropertyGroupName(
const Base::String& aDefaultName);
192 std::shared_ptr<PropertyUser> getPropertyUser(
const std::string& aName)
const;
193 std::vector<std::shared_ptr<PropertyUser>> getPropertyUser()
const;
194 std::vector<Base::String> getPropertySetNames()
const;
195 std::shared_ptr<PropertySet> getPropertySetByName(
const Base::String& aName)
const;
205 void removeExternalTypeObject();
The Product is an abstract representation of any object that relates to a geometric or spatial contex...
Definition: Product.h:41
An IfcObject is the generalization of any semantically treated thing or process. Objects are things a...
Definition: Object.h:49
Definition: Property.h:41
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
Editable
Definition: Property.h:38
Visible
Definition: Property.h:32
Definition: Property.h:35
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
#define PROXY_HEADER_ABSTRACT(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:140
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: GlobalId.h:32
Definition: ActiveScript.h:9
Definition: StandardManipulatorPolicy.h:9
Defines a non-persistent vector in 3D space.
Definition: Vec.h:45
std::shared_ptr< Topo::Shape const > pConstShape
Definition: Variant.h:81
#define FORWARD_DECL(x, y)
Definition: Globals.h:96
DEPRECATED. Do not use!
Definition: ExternalPythonTypeObject.h:19
Definition: DocObjectObserver.h:25
Definition: DocObject.h:28
CoordSpace
Definition: GeomEnums.h:8
Definition: DocObjectObserver.h:10