Public Types

typedef boost::signals2::scoped_connection Connection
typedef std::unordered_map< SoNode *, PointerNodeMap
typedef LinkInfoPtr Pointer

Public Member Functions

void addref ()
bool checkName (const char *name) const
void detach (bool unlink)
bool getDetail (bool checkname, int type, const char *subname, SoDetail *&det, SoFullPath *path) const
const char * getDocName () const
bool getElementPicked (bool addname, int type, const SoPickedPoint *pp, std::ostream &str) const
QIcon getIcon (QPixmap px)
const char * getLinkedName () const
const char * getLinkedNameSafe () const
SoSeparatorgetSnapshot (int type, bool update=false)
bool isLinked () const
bool isVisible () const
 LinkInfo (ViewProviderDocumentObject *vp)
void release ()
void remove (LinkOwner *owner)
void setVisible (bool visible)
void slotChangeIcon ()
void update ()
void updateChildren ()
void updateData (const App::Property *prop)
void updateSwitch (SoSwitch *node=0)
 ~LinkInfo ()

Static Public Member Functions

static const char * checkSubname (App::DocumentObject *obj, const char *subname)
static void childSensorCB (void *data, SoSensor *)
static Pointer get (App::DocumentObject *obj, Gui::LinkOwner *owner)
static Pointer get (ViewProviderDocumentObject *vp, LinkOwner *owner)
static ViewProviderDocumentObjectgetView (App::DocumentObject *obj)
static void sensorCB (void *data, SoSensor *)
static void switchSensorCB (void *data, SoSensor *)
static void transformSensorCB (void *data, SoSensor *)

Public Attributes

SoNodeSensor childSensor
Connection connChangeIcon
std::map< qint64, QIcon > iconMap
std::unordered_set< Gui::LinkOwner * > links
NodeMap nodeMap
CoinPtr< SoGrouppcChildGroup
CoinPtr< SoSwitch > pcLinkedSwitch
std::array< CoinPtr< SoSeparator >, LinkView::SnapshotMaxpcSnapshots
std::array< CoinPtr< SoSwitch >, LinkView::SnapshotMaxpcSwitches
std::atomic< int > ref
SoNodeSensor sensor
SoNodeSensor switchSensor
SoNodeSensor transformSensor


void intrusive_ptr_add_ref (LinkInfo *px)
void intrusive_ptr_release (LinkInfo *px)

Member Typedef Documentation

◆ Connection

typedef boost::signals2::scoped_connection Gui::LinkInfo::Connection

◆ NodeMap

typedef std::unordered_map<SoNode *, Pointer> Gui::LinkInfo::NodeMap

◆ Pointer

Constructor & Destructor Documentation

◆ LinkInfo()

◆ ~LinkInfo()

Gui::LinkInfo::~LinkInfo ( )

Member Function Documentation

◆ addref()

void Gui::LinkInfo::addref ( )

References ref.

◆ checkName()

bool Gui::LinkInfo::checkName ( const char *  name) const

References getLinkedName(), and isLinked().

◆ checkSubname()

static const char* Gui::LinkInfo::checkSubname ( App::DocumentObject obj,
const char *  subname 

Referenced by getDetail().

◆ childSensorCB()

static void Gui::LinkInfo::childSensorCB ( void *  data,
SoSensor *   

References updateChildren().

Referenced by LinkInfo().

◆ detach()

◆ get() [1/2]

◆ get() [2/2]

static Pointer Gui::LinkInfo::get ( ViewProviderDocumentObject vp,
LinkOwner owner 

◆ getDetail()

◆ getDocName()

const char* Gui::LinkInfo::getDocName ( void  ) const

◆ getElementPicked()

bool Gui::LinkInfo::getElementPicked ( bool  addname,
int  type,
const SoPickedPoint *  pp,
std::ostream &  str 
) const

◆ getIcon()

◆ getLinkedName()

const char* Gui::LinkInfo::getLinkedName ( ) const

◆ getLinkedNameSafe()

const char* Gui::LinkInfo::getLinkedNameSafe ( ) const

References getLinkedName(), and isLinked().

Referenced by detach(), and release().

◆ getSnapshot()

◆ getView()

◆ isLinked()

◆ isVisible()

◆ release()

◆ remove()

void Gui::LinkInfo::remove ( LinkOwner owner)

References links.

◆ sensorCB()

static void Gui::LinkInfo::sensorCB ( void *  data,
SoSensor *   

References update().

Referenced by LinkInfo().

◆ setVisible()

◆ slotChangeIcon()

void Gui::LinkInfo::slotChangeIcon ( )

References iconMap, isLinked(), and links.

Referenced by LinkInfo().

◆ switchSensorCB()

static void Gui::LinkInfo::switchSensorCB ( void *  data,
SoSensor *   

References updateSwitch().

Referenced by LinkInfo().

◆ transformSensorCB()

static void Gui::LinkInfo::transformSensorCB ( void *  data,
SoSensor *   

◆ update()

◆ updateChildren()

◆ updateData()

◆ updateSwitch()

void Gui::LinkInfo::updateSwitch ( SoSwitch *  node = 0)

Friends And Related Function Documentation

◆ intrusive_ptr_add_ref

void intrusive_ptr_add_ref ( LinkInfo px)

◆ intrusive_ptr_release

void intrusive_ptr_release ( LinkInfo px)

Member Data Documentation

◆ childSensor

SoNodeSensor Gui::LinkInfo::childSensor

Referenced by detach(), LinkInfo(), and updateChildren().

◆ connChangeIcon

Connection Gui::LinkInfo::connChangeIcon

Referenced by detach(), and LinkInfo().

◆ iconMap

std::map<qint64, QIcon> Gui::LinkInfo::iconMap

Referenced by getIcon(), and slotChangeIcon().

◆ links

std::unordered_set<Gui::LinkOwner*> Gui::LinkInfo::links

◆ nodeMap

NodeMap Gui::LinkInfo::nodeMap

◆ pcChildGroup

CoinPtr<SoGroup> Gui::LinkInfo::pcChildGroup

◆ pcLinked

◆ pcLinkedSwitch

CoinPtr<SoSwitch> Gui::LinkInfo::pcLinkedSwitch

Referenced by detach(), getSnapshot(), and updateSwitch().

◆ pcSnapshots

std::array<CoinPtr<SoSeparator>,LinkView::SnapshotMax> Gui::LinkInfo::pcSnapshots

Referenced by detach(), getDetail(), getSnapshot(), and update().

◆ pcSwitches

std::array<CoinPtr<SoSwitch>,LinkView::SnapshotMax> Gui::LinkInfo::pcSwitches

◆ ref

std::atomic<int> Gui::LinkInfo::ref

Referenced by addref(), and release().

◆ sensor

SoNodeSensor Gui::LinkInfo::sensor

Referenced by detach(), getSnapshot(), and LinkInfo().

◆ switchSensor

SoNodeSensor Gui::LinkInfo::switchSensor

Referenced by detach(), getSnapshot(), and LinkInfo().

◆ transformSensor

SoNodeSensor Gui::LinkInfo::transformSensor

Referenced by detach(), getSnapshot(), and LinkInfo().

The documentation for this class was generated from the following file:
  • Sources/FreeCAD/src/Gui/ViewProviderLink.cpp