//----------------------------------------------------------------------------
namespace VISU
{
+ //! This class defines an abstaract interface to manage actors
+ /*!
+ Actors are created by corresponding presentations and published in the defined view.
+ Each actor can be published only into one view but one presentation can have many actors.
+ Due to the complexity of the actor presentation interaction the new interface defines common
+ and simply way to manage them properly.
+ @note
+ This interface inherits from boost::bsignals::trackable in order to provide automatic
+ diconnection from defined signals if the object is destroyed.
+ */
struct TActorFactory: public virtual boost::bsignals::trackable
{
+ //! Just to make this class virtual
virtual
~TActorFactory()
{}
+ //! To update the actor
virtual
void
UpdateActor(VISU_Actor* theActor) = 0;
+ //! To unregister the actor
virtual
void
RemoveActor(VISU_Actor* theActor) = 0;
//============================================================================
//! Base class for Gauss Points Actors.
/*!
- * Contains device actor (VISU_GaussPtsDeviceActor),
- * which has two representation modes - outside and
- * inside segmentation cursor.
- */
+ The actor is responsible for representation of Gauss Points.
+ It render corresponding presentation by usage of corresponding VISU_GaussPtsDeviceActor.
+ Usage of such technic of rendering gives addititional flexibility to change its behaviour in run-time.
+ Also, the base class implements the following functionality:
+ - implements a highlight and prehighlight functionality;
+ - defining a way to handle VISU_ImplicitFunctionWidget;
+ - global / local scalar bar mamangement.
+*/
class VTKOCC_EXPORT VISU_GaussPtsAct : public VISU_Actor
{
public:
class VISU_GaussPtsAct2;
//! Gauss Points Actor, displayed in the Base View.
+/*!
+ * Contains device actor (VISU_GaussPtsDeviceActor),
+ * which has two representation modes - outside and
+ * inside segmentation cursor.
+ */
class VTKOCC_EXPORT VISU_GaussPtsAct1 : public VISU_GaussPtsAct
{
public:
class Result_i;
//----------------------------------------------------------------------------
+ //! Base class for all VTK 3D presentations.
+ /*!
+ It is a root class for a middle level of VISU functionality.
+ Almost all functionality of the the class implemented through redirection
+ external requestes to its VISU_PipeLine.
+ It define an interface and implement the following topics:
+ - provide persistent mechanism;
+ - implement basic actor management (CreateActor, UpdateActor, UpdateActors, RemoveActor and RemoveActors);
+ - implement common 3D functionality like "clipping planes" and offset.
+ */
class Prs3d_i :
public virtual POA_VISU::Prs3d,
public virtual SALOME::GenericObj_i,
public:
//----------------------------------------------------------------------------
+ //! A constructor to create a fresh instance of the class
explicit
Prs3d_i(Result_i* theResult,
bool theAddToStudy);
+
+ //! A constructor to restore an instance of the class
explicit
Prs3d_i(Result_i* theResult,
SALOMEDS::SObject_ptr theSObject);
+
+ //! To create a deep copy from another instance of the class
virtual
void
SameAs(const Prs3d_i* theOrigin);
~Prs3d_i();
//----------------------------------------------------------------------------
+ //! To generate an unique type name for the class (used into persistent functionality)
virtual
const char*
GetComment() const = 0;
+ //! To generate an unique name for the instance of the class
virtual
QString
GenerateName() = 0;
+ //! To restore paramters of the instance from Storable::TRestoringMap
virtual
Storable*
Restore(const Storable::TRestoringMap& theMap);
+ //! To save paramters of the instance to std::ostringstream
virtual
void
ToStream(std::ostringstream& theStr);
//----------------------------------------------------------------------------
+ //! Get corresponding Result_i
Result_i*
GetResult() const;
+ //! Get corresponding SALOMEDS::SObject
virtual
SALOMEDS::SObject_var
GetSObject();
GetMeshName() const;
//----------------------------------------------------------------------------
+ //! To update is internal state
virtual
void
Update();
+ //! To remove the instance from study
virtual
void
RemoveFromStudy();
//----------------------------------------------------------------------------
+ //! Get corresponding VISU_PipeLine
VISU_PipeLine*
GetPL();
+ //! Get input of the VISU_PipeLine
vtkUnstructuredGrid*
GetInput();
//----------------------------------------------------------------------------
+ //! To define a way to create VTK representation of the instance
virtual
VISU_Actor*
CreateActor(const Handle(SALOME_InteractiveObject)& theIO = NULL) = 0;
+ //! To unregister the pointed actor
virtual
void
RemoveActor(VISU_Actor* theActor);
+ //! To unregister all actors of the instance
virtual
void
RemoveActors();
+ //! To update the pointed actor
virtual
void
UpdateActor(VISU_Actor* theActor);
+ //! To update all actors of the instance
virtual
void
UpdateActors();