Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
GuiNodalLink Class Reference

Displays a link between two nodes in a GuiNodal. More...

Inheritance diagram for GuiNodalLink:
GuiNodalItem EventObject CoreCustomData CoreBaseObject CoreBaseType

Public Types

enum  LinkState {
  LINK_STATE_NORMAL,
  LINK_STATE_CREATION,
  LINK_STATE_DESTRUCTION,
  LINK_STATE_DESTROYED,
  LINK_STATE_CREATION_DND,
  LINK_STATE_COUNT
}
 
enum  LinkShape {
  LINK_SHAPE_PLAIN = 1,
  LINK_SHAPE_DASHED = 2,
  LINK_SHAPE_DOTTED = 4,
  LINK_SHAPE_STRONG = 8,
  LINK_SHAPE_WEAK = 16,
  LINK_SHAPE_FADED = 32,
  LINK_SHAPE_BRIGHT = 64,
  LINK_SHAPE_ASPECT_MASK = LINK_SHAPE_PLAIN|LINK_SHAPE_DASHED|LINK_SHAPE_DOTTED|LINK_SHAPE_STRONG|LINK_SHAPE_WEAK|LINK_SHAPE_FADED|LINK_SHAPE_BRIGHT,
  LINK_SHAPE_STRAIGHT = 128,
  LINK_SHAPE_CURVED = 256,
  LINK_SHAPE_AUTO = 512,
  LINK_SHAPE_SHORT = 1024,
  LINK_SHAPE_STRAIGHT_DECORATED = LINK_SHAPE_STRAIGHT|2048,
  LINK_SHAPE_GEOMETRY_MASK = LINK_SHAPE_STRAIGHT|LINK_SHAPE_CURVED|LINK_SHAPE_AUTO|LINK_SHAPE_SHORT|LINK_SHAPE_STRAIGHT_DECORATED
}
 
- Public Types inherited from GuiNodalItem
enum  ItemDrawState {
  ITEM_DRAW_DIRTY,
  ITEM_DRAW_UPDATED,
  ITEM_DRAW_CACHED,
  ITEM_DRAW_COUNT
}
 
- Public Types inherited from EventObject
typedef void(* EventInfoFunction )(EventObject &, const EventInfo &, void *)
 event callback signature for free functions / static methods.
 
typedef void(EventObject::* EventInfoMethod )(EventObject &, const EventInfo &, void *)
 event callback signature for methods.
 
typedef void(* EventFunction )(EventObject &, const CoreString &, void *)
 
typedef void(EventObject::* EventMethod )(EventObject &, const CoreString &, void *)
 

Public Member Functions

 GuiNodalLink (GuiNodal &graph, GuiNodalNodeBase *from, bool is_dest=false)
 Constructor.
 
 GuiNodalLink (GuiNodal &graph, GuiNodalNodeBase &from, GuiNodalNodeBase &to)
 Constructor.
 
virtual ~GuiNodalLink () override
 Destructor.
 
void draw (GuiDc &dc)
 This draw function requires that the caller has already initialized the draw process with GL_BEGIN(GL_LINES).
 
void draw_select (GuiDc &dc)
 This draw function requires that the caller has already initialized the draw process with GL_BEGIN(GL_LINES).
 
void draw_highlighted_plug (GuiDc &dc)
 
void draw_decorated (GuiDc &dc, bool cropped=true, bool text_only=false, bool hilited_plug=false, bool pick=false)
 
void draw_connector (GuiDc &dc, bool pick=false)
 
virtual void get_decorated_text (CoreString &text, bool &to_side, bool &compact, bool &use_link_color) const
 
void update_content ()
 
void compute_curve (const int &max_subdiv=-1)
 Compute the curved link points.
 
const GuiNodalLink::LinkState & get_state () const
 
void set_state (const LinkState &state)
 
const unsigned int & get_shapes () const
 
bool get_shape_is_active (const LinkShape &state) const
 
void activate_shape (const LinkShape &state)
 
void desactivate_shape (const LinkShape &state)
 
void set_shape (const LinkShape &state)
 
void complete_creation (GuiNodalNodeBase *node_to)
 Connects the link to the incoming node to become a "normal" link connected to two nodes.
 
void begin_destruction (GuiNodalNodeBase *detached_node)
 Begins the process of destruction for the link (user is dragging it off from a node).
 
void cancel_destruction ()
 Aborts the process of destruction.
 
void complete_destruction (GuiNodalNodeBase *new_node)
 Finalize the process of destruction of the link.
 
GuiNodalNodeBaseget_dangling_node () const
 
GuiNodalNodeBaseget_detached_node () const
 
GuiNodalNodeBaseget_node_from () const
 
GuiNodalNodeBaseget_node_to () const
 
void set_node_from (GuiNodalNodeBase *node)
 Sets the link origin node.
 
void set_node_to (GuiNodalNodeBase *node)
 Sets the link destination node.
 
virtual GuiNodalNodeBaseget_display_node_from () const
 
virtual GuiNodalNodeBaseget_display_node_to () const
 
void set_order (int order)
 
int get_order () const
 
void set_brotherhood (CoreVector< GuiNodalLink * > &brothers)
 
int get_weight () const
 
GuiNodalLinkget_highlighted_brother ()
 Among link's brotherhood, returns the one which has currently an highlighted plug.
 
virtual void set_is_highlighted (const bool &value) override
 Sets the highlighted state of the link.
 
virtual bool get_is_highlighted () const override
 
GuiNodalNodeBaseget_highlighted_plug (GuiNodalLink *&link_to_disconnect)
 
void set_default_colors ()
 
const CoreArray< GMathVec2d > & get_draw_points () const
 
void set_dnd_from (const GMathVec2i &from)
 
virtual void debug () const
 
void debug_brotherhood () const
 
- Public Member Functions inherited from GuiNodalItem
 GuiNodalItem (GuiNodal &graph)
 
const GMathVec3uc & get_select_color () const
 
void set_selectable ()
 
GuiNodalget_graph () const
 
void set_bg_normal_color (const GMathVec3uc &color)
 
void set_bg_highlight_color (const GMathVec3uc &color)
 
void set_bg_selected_color (const GMathVec3uc &color)
 
void set_bg_disabled_color (const GMathVec3uc &color)
 
void set_bg_colors (const GMathVec3uc &normal, const GMathVec3uc &highlight, const GMathVec3uc &selected)
 
const GMathVec3uc & get_bg_normal_color () const
 
const GMathVec3uc & get_bg_highlight_color () const
 
const GMathVec3uc & get_bg_disabled_color () const
 
const GMathVec3uc & get_bg_selected_color () const
 
const GMathVec3uc & get_bg_color () const
 
void set_bg_color (const GMathVec3uc &color)
 
virtual void set_is_culled (const bool &value)
 
bool get_is_culled () const
 
virtual void set_draw_state (const ItemDrawState &state)
 
const ItemDrawState & get_draw_state ()
 
bool get_is_dirty () const
 
- Public Member Functions inherited from EventObject
 EventObject ()
 Constructor.
 
 EventObject (const EventObject &src)
 Copy Constructor.
 
virtual ~EventObject () override
 Destructor.
 
void connect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0)
 Connects this to an object to listen to a specific event.
 
void connect (EventObject &sender, EventInfoMethod event_cb, void *data=0)
 Connects this to an object to listen any of its events.
 
bool disconnect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0)
 
bool disconnect_all (EventObject &sender)
 Disconnects from all objects sender was listening on.
 
void disconnect_all ()
 Disconnects from all objects we were listening on.
 
void remove_all_connection ()
 Disconnects object from other objects it is listening to, and also disconnects all objects listening to it.
 
void raise_event (const CoreString &event_id) const
 sends an event
 
void raise_event (const EventInfo &event_info) const
 sends an event
 
bool is_connected (EventObject &sender, const CoreString &event_id, void *data)
 
void set_mute (const bool &mute)
 Asks for object muting. This will increase or decrease the muting counter. Unmuting may not be immediat since it will happen only when counter reaches 0.
 
bool is_mute () const
 Returns if object is muted.
 
CoreArray< EventObject * > get_senders () const
 
unsigned int get_sender_count () const
 
unsigned int get_receiver_count () const
 
virtual size_t get_memory_size () const override
 
void connect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0)
 Connects this to an object to listen to a specific event.
 
void connect (EventObject &sender, EventMethod event_cb, void *data=0)
 Connects this to an object to listen any of its events.
 
bool disconnect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0)
 Disconnects this from an object for a specific event.
 
- Public Member Functions inherited from CoreCustomData
 CoreCustomData (const CoreCustomData &src)
 
void add_custom_data (void *key, const bool &data)
 
void add_custom_data (void *key, const int &data)
 
void add_custom_data (void *key, const unsigned int &data)
 
void add_custom_data (void *key, const char *data)
 
void add_custom_data (void *key, const CoreString &data)
 
void add_custom_data (void *key, const double &data)
 
void add_custom_data (void *key, void *data)
 
void remove_custom_data (void *key)
 
void remove_all_custom_data ()
 
void set_custom_data (void *key, const bool &data)
 
void set_custom_data (void *key, const int &data)
 
void set_custom_data (void *key, const unsigned int &data)
 
void set_custom_data (void *key, const double &data)
 
void set_custom_data (void *key, const char *data)
 
void set_custom_data (void *key, const CoreString &data)
 
void set_custom_data (void *key, void *data)
 
void get_custom_data (void *key, bool &data) const
 
void get_custom_data (void *key, int &data) const
 
void get_custom_data (void *key, unsigned int &data) const
 
void get_custom_data (void *key, double &data) const
 
void get_custom_data (void *key, CoreString &data) const
 
void get_custom_data (void *key, void *&data) const
 
- Public Member Functions inherited from CoreBaseObject
bool is_kindof (const CoreBaseObject &object) const
 
CoreString get_class_info_name () const
 
const unsigned long & get_class_info_id () const
 
virtual bool is_kindof (const CoreClassInfo &cinfo) const
 
virtual const CoreClassInfoget_class_info () const
 
template<class T >
T * cast ()
 
template<class T >
const T * cast () const
 
- Public Member Functions inherited from CoreBaseType
bool is_kindof (const CoreClassInfo &cinfo) const
 

Static Public Member Functions

static CoreString get_link_state_name (const LinkState &state)
 
static CoreString get_link_shape_name (const LinkShape &state)
 

Friends

class GuiNodal
 

Additional Inherited Members

- Protected Attributes inherited from GuiNodalItem
ItemDrawState m_draw_state
 

Detailed Description

Displays a link between two nodes in a GuiNodal.

Member Function Documentation

void GuiNodalLink::complete_destruction ( GuiNodalNodeBase new_node)

Finalize the process of destruction of the link.

Parameters
[in]new_nodeif 0, the link is tagged as destroyed. If not, the link is reconnected to this node.
void GuiNodalLink::compute_curve ( const int &  max_subdiv = -1)

Compute the curved link points.

Parameters
[in]maximumsubdivisions for the curve (-1 no limit)