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
 
ViewProviderDocumentObjectpcLinked
 
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
 

Friends

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 
)
static

Referenced by getDetail().

◆ childSensorCB()

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

References updateChildren().

Referenced by LinkInfo().

◆ detach()

◆ get() [1/2]

◆ get() [2/2]

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

◆ 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 *   
)
static

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 *   
)
static

References updateSwitch().

Referenced by LinkInfo().

◆ transformSensorCB()

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

◆ 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)
friend

◆ intrusive_ptr_release

void intrusive_ptr_release ( LinkInfo px)
friend

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