C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

The PolygonGeometry class is a geometry object of curve primitives.
. More...

#include <vsn_polygongeometry.h>

+ Inheritance diagram for VSN::PolygonGeometry:
+ Collaboration diagram for VSN::PolygonGeometry:

Public Member Functions

 PolygonGeometry (Node *pParent=nullptr)
 Constructor.
 
virtual ~PolygonGeometry ()
 Destructor.
 
ElementId AddLine (const Point3DF &p1, const Point3DF &p2, const Pen &pen={})
 Add two points to draw a line.
 
void SetLineColor (ElementId id, const Color &color)
 Set line color.
 
void SetLineWidth (ElementId id, float width)
 Set line width.
 
void SetLinePriority (ElementId id, uint priority)
 Set depth priority for line.
 
ElementId AddPolygon (const std::vector< Point3DF > &positions, const Pen &pen={})
 Add points array to draw a curve.
 
ElementId AddPolygon (const Point3DF *points, size_t count, const Pen &pen={})
 Add points array to draw a curve.
 
ElementId AddPolygon (const PolygonDescriptor &polygon)
 Add a polygon using PolygonDescriptor.
 
ElementId AddPolygons (const std::vector< PolygonDescriptor > &polygons)
 Add a polygon array using PolygonDescriptor.
 
ElementId AddIndicesPolygon (const Point3DF *points, size_t pointsCount, const uint *indices, size_t indicesCount, const Color &color, float width, uint8_t priority, const Vector3DF &={})
 Add a polygon with respect to indices.
 
ElementId AddIndicesPolygon (const Point3DFColor *points, size_t pointsCount, const uint *indices, size_t indicesCount, const Color &color, float width, uint8_t priority, const Vector3DF &={})
 Add a polygon of positions and colors with respect to indices.
 
ElementId AddIndicesPolygon (const Point3DFTexture1D *points, size_t pointsCount, const uint *indices, size_t indicesCount, const Pen &pen, uint8_t priority, const Vector3DF &={})
 Add a polygon of positions and 1D texture with respect to indices.
 
ElementId AddIndicesPolygon (const Point3DNormal3D *points, size_t pointsCount, const uint *indices, size_t indicesCount, const Color &color, float width, uint8_t priority)
 Add a polygon of positions and normals with respect to indices.
 
void SetVisiblePolygon (ElementId id, bool visible)
 Set curve visibility.
 
bool IsVisiblePolygon (ElementId id) const
 Get curve visibility.
 
void ArrangeGeometry ()
 Method for geometric curves optimization.
 
void ClearGeometry ()
 Clear geometric data.
 
virtual void Render (RenderContext &renderContext) override
 Performs rendering.
 
virtual const MbCubeGetBoundingBox () const override
 Returns bounding box.
 
- Public Member Functions inherited from VSN::Geometry
 Geometry (Node *pParent=nullptr)
 Default constructor.
 
virtual ~Geometry ()
 Destructor.
 
void SetDoubleSidedLighting (bool value)
 Set double side lighting.
 
bool IsDoubleSidedLighting () const
 Does geometry use double sided lighting.
 
void SetVisible (bool value)
 Set the visibility value to the geometry object.
 
bool IsVisible () const
 Check the visibility value.
 
virtual Pen GetPen () const
 Get pen.
 
virtual void SetPen (const Pen &pen)
 Set pen.
 
virtual void SetLevelDetail (int value)
 \ ru Задать уровень детализации в диапазоне от 0 до 100. Sets LOD in the range from 0 to 100.
 
virtual bool IsIgnorePixelCulling () const
 NO TRANSLATION.
 
virtual bool IsTransparent () const
 Checks if geometry is transparent.
 
virtual bool IsBoundingBoxValid () const
 True if bounding box is valid.
 
virtual void PickObjectsInsideRect (const MbRect &rect, const Matrix3DF &viewMatrix, const Matrix3DF &mx, Filter filter, bool bUnifying, HitList &hits)
 NO TRANSLATION.
 
virtual bool IsAnnotation () const
 NO TRANSLATION.
 
virtual void UpdateTransparentMaterialCount ()
 Updates transparent material count after table operations.
 
virtual TranslucentValue GetTranslucentValue () const
 Translucent value.
 
virtual bool HasMaterialById (const NodeKey &key) const
 Checks if the material with set identifier exists in the table.
 
virtual size_t GetMaterialCount () const
 Returns material count from the table.
 
virtual std::set< Material * > GetMaterialSet () const
 Returns material table.
 
virtual float GetVolume ()
 Returns geometry volume.
 
virtual void InvertNormals ()
 Inverts direction of all vertex normals.
 
virtual void TransformVerticesByMatrix (const Matrix3DF &matrix)
 Transforms mesh vertices by given matrix.
 
virtual void UpdateGeometry ()
 Updates geometry by new data.
 
virtual size_t GetFaceCount (size_t indexLod=0) const
 Returns face count.
 
virtual size_t GetVertexCount () const
 Returns vertex count.
 
virtual void OpenGLDraw (const RenderState &renderState)
 Renders wireframe in one of the modes: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP GL_LINES.
 
- Public Member Functions inherited from VSN::Node
 Node (Node *pParent=nullptr)
 Constructor with parent.
 
virtual ~Node ()
 Destructor.
 
NodeKey GetUniqueKey () const
 Returns key identifing Node instance.
 
void SetUniqueKey (const NodeKey &key)
 Sets the unique key for the instance.
 
NodeKey GetCustomKey () const
 Returns custom key identifing Node instance.
 
void SetCustomKey (const NodeKey &key)
 Sets the custom unique key for the instance.
 
NodeGetParentNode () const
 Returns pointer to the parent object or nullptr if no parent.
 
bool IsEnabled () const
 Returns the Node enabled flag. By default, the flag is always on.
 
ObjectList< Node * > GetChildNodes () const
 Return an array of child nodes for this node.
 
void SetParent (Node *pParent)
 Sets parent object to the object.
 
bool IsNotificationsBlocked () const
 True if notifications are blocked, otherwise, False.
 
bool SetBlockNotifications (bool block)
 Sets blocking of notifications and returns the previous blocking value.
 
- Public Member Functions inherited from VSN::Object
 Object (Object *pParent=nullptr)
 Default constructor. More...
 
virtual ~Object ()
 Destructor.
 
void SetParent (Object *pParent)
 NO TRANSLATION.
 
MutexGetMutex ()
 Object mutex.
 
String GetObjectName () const
 Returns name.
 
void SetObjectName (const String &name)
 Sets name.
 
bool IsControlType () const
 TRANSLATION.
 
ObjectGetParent () const
 NO TRANSLATION.
 
Variant GetProperty (const String &name) const
 NO TRANSLATION.
 
bool IsSignalsBlocked () const
 NO TRANSLATION.
 
bool SetBlockSignals (bool bBlock)
 NO TRANSLATION.
 
void AddEventListener (Object *pObject)
 NO TRANSLATION.
 
void RemoveEventListener (Object *pObject)
 NO TRANSLATION.
 
ObjectGetSender () const
 NO TRANSLATION.
 
Thread * GetThread () const
 NO TRANSLATION.
 
void BindWithThread (Thread *thread)
 NO TRANSLATION.
 
int StartTimer (int interval, TimerType timerType=tt_CoarseTimer)
 NO TRANSLATION.
 
void KillTimer (int id)
 NO TRANSLATION.
 
const ObjectList< Object * > & GetChildren () const
 NO TRANSLATION.
 
template<typename T >
FindChild (const String &objName=String()) const
 NO TRANSLATION.
 
template<typename T >
ObjectList< T > FindChildren (const String &objName=String(), VSN::ChildFindingPolicies policies=VSN::FindAllNestedChildren) const
 NO TRANSLATION.
 
- Public Member Functions inherited from VSN::BasicObject
 BasicObject ()
 Default constructor.
 
virtual ~BasicObject ()
 Destructor.
 

Protected Member Functions

 PolygonGeometry (PolygonGeometryPrivate &dd, Node *pParent)
 Constructor for internal use.
 
- Protected Member Functions inherited from VSN::Geometry
ObjectVector< GeometryTraits * > GetGeometryTraits () const
 Returns list of geometry data from this object.
 
void AddGeometryTraits (GeometryTraits *pTraits)
 Adds data group of geometric solid body.
 
void RemoveGeometryTraits (GeometryTraits *pTraits)
 Removes data group of geometric solid body.
 
 Geometry (GeometryPrivate &dd, Node *pParent)
 Signal about the end of rebuilding the whole geometry. More...
 
- Protected Member Functions inherited from VSN::Node
 Node (NodePrivate &dd, Node *pParent)
 Sets the node enable flag. More...
 
virtual void SceneModificationEvent (const std::shared_ptr< SceneModification > &modification)
 The function is called in case of scene being modified.
 

Detailed Description

The PolygonGeometry class is a geometry object of curve primitives.
.

The PolygonGeometry class allows you to create geometric curves based on polygon models. PolygonGeometry has a number of functions for creating geometric curves, as well as control their visibility and color range. When creating curves, you can set the desired color, as well as the polygon style and texture from your position. With PolygonGeometry it is possible to set normals for clipping when displaying the reverse side in each position of the polygon. PolygonGeometry provides helper functions when adding a curve with indexes and with a full description using the PolygonDescriptor class.


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