emergent 8.2.2 T3Panel Class Reference
emergent 8.2.2   Home · Wiki Docs For: T3Panel · Emergent Help Browser 

T3Panel Class Reference

Copyright 2017, Regents of the University of Colorado, a panel within set of 3d view panels containing one or more 3D view elements organize within a common overall scenegraph

See for more info: Wiki Docs For: T3Panel

 #include <T3Panel>

defined at: /mnt/ssd/grey/local/include/Emergent/T3Panel.h :50-210

Inherits From: taViewer, taDataView, taNBase, taOBase, taBase, ISigLinkClient, ISigLinkProxy, ITypedObject

Inherited By: T3Panel*, T3Panel&, const T3Panel

Index: SubTypes, Members, Methods, Static Members, Static Methods, Expert Members, Expert Methods

Sub Types


SubType Documentation

enum taDataView::DataViewAction

enum used to (safely) manually invoke one or more _impl actions

ConstantValueDescription
taDataView::CONSTR_POST0x00000001(only used by taViewer)
taDataView::CLEAR_IMPL0x00000002(only used by T3DataView)
taDataView::RENDER_PRE0x00000004
taDataView::RENDER_IMPL0x00000008
taDataView::RENDER_POST0x00000010
taDataView::CLOSE_WIN_IMPL0x00000020(only used by taViewer)
taDataView::RESET_IMPL0x00000040
taDataView::UNBIND_IMPL0x00000080disconnect everyone from a data source
taDataView::SHOWING_IMPL0x00000100
taDataView::HIDING_IMPL0x00000200

enum taViewer::ImageFormat

ConstantValueDescription
taViewer::SVG0x00000000scalable vector graphic format -- best format for graphs, etc for subsequent editing using virtually any vector graphics program, e.g., InkScape (free open source)
taViewer::PNG0x00000001Portable Network Graphics -- best lossless compression (larger files, but better than raw) and ubiquitous
taViewer::JPEG0x00000002JPEG -- best lossy compression (small file sizes) and ubiquitous
taViewer::PPM0x00000003Portable Pixmap -- good for converting to other formats -- no compression
taViewer::EPS0x00000004encapsulated postscript file (only for 3D view objects) -- SVG is recommended instead of EPS for most cases
taViewer::IV0x00000005Open Inventor format (only for 3D view objects)

enum T3Panel::StereoView

ConstantValueDescription
T3Panel::STEREO_NONE0x00000000use monoscopic rendering (default)
T3Panel::STEREO_ANAGLYPH0x00000001Render stereo by superimposing two images of the same scene, but with different color filters over the left and right view (or 'eye'). This is a way of rendering stereo which works on any display, using color-filter glasses. Such glasses are usually cheap and easy to come by.
T3Panel::STERO_QUADBUFFER0x00000002Render stereo by using OpenGL quad-buffers. This is the most common interface for stereo rendering for more expensive hardware devices, such as shutter glasses and polarized glasses. The well known Crystal Eyes glasses are commonly used with this type of stereo display.
T3Panel::STEREO_INTERLEAVED_ROWS0x00000003Interleaving / interlacing rows from the left and right eye is another stereo rendering method requiring special hardware. One example of a provider of shutter glasses working with interleaved glasses is VRex: http://www.vrex.com/
T3Panel::STEREO_INTERLEAVED_COLUMNS0x00000004Same basic technique as SoQtViewer::STEREO_INTERLEAVED_ROWS, only it is vertical lines that are interleaved / interlaced, instead of horizontal lines.

enum T3Panel::ColorScheme

ConstantValueDescription
T3Panel::BLACK_ON_WHITE0x00000000Black text on white background
T3Panel::BLACK_ON_GREY0x00000001Black text on grey background (default)
T3Panel::WHITE_ON_BLACK0x00000002White text on black background
T3Panel::RED_ON_BLACK0x00000003Red text on black background
T3Panel::GREEN_ON_BLACK0x00000004Green text on black background
T3Panel::BLUE_ON_BLACK0x00000005Blue text on black background


Regular (preferred) Member and Method Documentation

Members

Member Category: _NoCategory

Member Category: taBase

Methods

Method Category: Access

Method Category: ControlPanel

Method Category: Display

Method Category: File

Method Category: ListMgmt

Method Category: ObjectMgmt

Method Category: UserData

Method Category: _NoCategory


Member Documentation

Member Category: _NoCategory

T3Panel::ambient_light : float

how much ambient default light is there in the absence of any other light sources

T3Panel::bg_color : taColor

background color of the panel note: alpha transparency value is also used and will be reflected in saved images!

T3Panel::camera_params : T3CameraParams

parameters affecting how the camera works

taDataView::cur_font_size : int

Can be used by viewers to set/save a font size that is specific to the viewer

T3Panel::headlight_intensity : float

the intensity of the headlight -- 1 is maximum, 0 is miniumum

T3Panel::headlight_on : bool

turn the camera headlight on for illuminating the scene -- turn off only if there is another source of light within the scenegraph -- otherwise it will be dark!

T3Panel::stereo_view : T3Panel::StereoView

what type of stereo display to render, if any

T3Panel::text_color : taColor

color to use for text in the panel -- may need to change this from default of black depending on the bg_color

Member Category: taBase

taNBase::name : taString

name of the object


Method Documentation

Method Category: Access

Variant taDataView::Elem ( Variant& idx, taBase::IndexMode mode = IDX_UNK )

get element(s) from container -- return can be a single item or a Matrix of multiple items, depending on the index -- see IndexMode for all the possible indexing modes and associated return values (some of which are not applicable to some containers, as documented for that container)

Show Source Code

taBase* taDataView::ElemPath ( taString& path, TypeDef* expect_type = __null, bool err_msg = true )

returns taBase item at given path under this object -- path can skip over steps -- a search is conducted to find items -- this provides the same kind of flexibility that css provides in accessing elements of the structural hierarchy -- also allows for type checking of result -- it is just a wrapper around FindFromPath with optional error checking

Show Source Code

bool taDataView::IsContainer ( )

is this item a container object or not?

Show Source Code

int taDataView::IterCount ( )

how many items will be iterated over if we iterate through this container -- this is fast for no view and IDX_COORDS views and slow (requiring summing over mask) for IDX_MASK views

Show Source Code

Variant taDataView::IterFirst ( taBaseItr& itr )

get iterator for this container and start it at the first item for iterating through items in this container -- if no valid first item, iterator is deleted: e.g., taBaseItr itr; for(Variant itm = cont.IterFirst(itr); itr.More(); itm = cont.IterNext(itr)) { ... } -- see also TA_FOREACH macro

Show Source Code

int taDataView::IterFirstIndex ( taBaseItr& itr )

get iterator for this container and start index at the first item for iterating through items in this container, returns index if iterator was set to a valid index, -1 if not, in which case iterator is deleted: e.g., taBaseItr itr; for(Variant itm = cont.IterFirstIndex(itr); itr.More(); itm = cont.IterNextIndex(itr)) { ... } -- see also TA_FOREACH_INDEX macro

Show Source Code

Variant taDataView::IterLast ( taBaseItr& itr )

get reverse iterator for this container and start it at the last item for iterating through items in this container -- if no valid last item, iterator is deleted: e.g., taBaseItr itr; for(Variant itm = cont.IterLast(itr); itr.More(); itm = cont.IterNextRev(itr)) { ... } -- see also TA_FOREACH_REV macro

Show Source Code

int taDataView::IterLastIndex ( taBaseItr& itr )

get iterator for this container and start index at the last item for iterating through items in this container in reverse, returns index if iterator was set to a valid index, -1 if not, in which case iterator is deleted: e.g., taBaseItr itr; for(Variant itm = cont.IterLastIndex(itr); itr.More(); itm = cont.IterPrevIndex(itr)) { ... } -- see also TA_FOREACH_INDEX_REV macro

Show Source Code

Variant taDataView::IterNext ( taBaseItr& itr )

iterate to next item in container using given iterator -- when the end is reached, the iterator pointer is automatically deleted and the pointer is set to NULL (and returns _nilVariant) -- use itr as test to see if there is a next item -- see IterFirst() for more docs

Show Source Code

int taDataView::IterNextIndex ( taBaseItr& itr )

iterate to index of next item in container using given iterator -- when the end is reached, the iterator pointer is automatically deleted and the pointer is set to NULL (and returns _nilVariant) -- use itr as test to see if there is a next item -- see IterFirstIndex() for more docs

Show Source Code

Variant taDataView::IterPrev ( taBaseItr& itr )

iterate to previous item in container using given iterator -- when the end is reached, the iterator pointer is automatically deleted and the pointer is set to NULL (and returns _nilVariant) -- use itr as test to see if there is a prev item -- see IterLast() for more docs

Show Source Code

int taDataView::IterPrevIndex ( taBaseItr& itr )

iterate to index of previous item in container using given iterator -- when the end is reached, the iterator pointer is automatically deleted and the pointer is set to NULL (and returns _nilVariant) -- use itr as test to see if there is a prev item -- see IterLastIndex() for more docs

Show Source Code

Method Category: ControlPanel

bool taDataView::AddFunToControlPanel ( MethodDef* function, ControlPanel* ctrl_panel, taString& extra_label )

select a function (method) for calling from a project control_panel - a panel that is a user chosen collection of members and methods from one or more objects (if ctrl_panel is NULL, a new one is created in .ctrl_panels). returns false if method was already selected. extra_label is prepended to function name if present

Show Source Code

bool taDataView::AddFunToControlPanelNm ( taString& function_nm, ControlPanel* ctrl_panel, taString& extra_label = taString(), taString& sub_gp_nm = taString(), taString& desc = taString() )

select a method (by name) for use in a control_panel that is a collection of selected members and methods from different objects (if ctrl_panel is NULL, a new one is created in .crtl_panels) returns false if method was already selected. desc is a custom description -- will show up as tooltip for user (default is info from method)

Show Source Code

bool taDataView::AddToControlPanel ( MemberDef* member, ControlPanel* ctrl_panel )

select an object member to be added to a given control_panel (a user-chosen collection of members and methods from one or more objects -- if ctrl_panel is NULL, a new one is created in .ctrl_panels). returns false if member was already selected. prompts user for final specification of label to use

Show Source Code

bool taDataView::AddToControlPanelNm ( taString& memb_nm, ControlPanel* ctrl_panel, taString& extra_label = taString(), taString& sub_gp_nm = taString(), taString& desc = taString(), bool short_label = false )

add given member (by name) given control_panel (a user-chosen collection of members and methods from one or more objects -- if ctrl_panel is NULL, a new one is created in .ctrl_panels). returns false if member was already selected. extra_label is prepended to member name if present, otherwise owner obj name and path to member is prepended, and if sub_gp_nm is specified, item will be put in this sub-group (new one will be made if it does not yet exist). desc is a custom description -- will show up as tooltip for user (default is info from member). short_label omits prepending owner name to label

Show Source Code

ControlPanel* taDataView::MemberControlPanel ( taString& member_name, TypeDef* panel_type = __null )

if a given member name (must be direct member of object) is on a control panel, this returns the first such control panel that it is on, else NULL -- if panel_type is non-null, it ONLY looks for panels of a given type (e.g., ParamSet, etc) -- otherwise looks for any kind of ControlPanel (excluding archives -- only active)

Show Source Code

Method Category: Display

void taDataView::BrowseMe ( )

show this object in its own browser

Show Source Code

bool taDataView::BrowserCollapseAll ( )

collapse all sub-leaves under this item in the browser

Show Source Code

bool taDataView::BrowserEditMe ( )

select this item and open for edit (only works if gui is active, etc) -- returns success

Show Source Code

bool taDataView::BrowserExpandAll ( )

expand all sub-leaves under this item in the browser

Show Source Code

bool taDataView::BrowserSelectMe ( )

select this item in the main project browser (only works if gui is active, etc) -- returns success

Show Source Code

bool taDataView::ChooseMe ( )

Display a chooser of whatever type this method is called on

Show Source Code

void T3Panel::CopyFromViewPanel ( T3Panel* cp )

copy key view information from another view panel (saved views, other view info)

Show Source Code

taString taDataView::DiffCompareString ( taBase* cmp_obj, taDoc*& doc )

compare this object with selected comparison object using a diff operation on their save file representations -- more robust to large differences than the select-for-edit version (if doc is NULL, a new one is created in .docs). returns diff string as well.

Show Source Code

bool taDataView::Edit ( )

Edit this object using the gui -- this will be an edit dialog or an edit panel depending on ...???

Show Source Code

bool taDataView::EditPanel ( bool new_tab = false, bool pin_tab = false )

Edit this object in a panel in the gui browser (if new_tab == true, then a new edit panel tab is opened for it, if pin_tab == true then the new tab is pinned in place (option ignored for new_tab == false))

Show Source Code

void T3Panel::EditView ( T3DataViewMain* view )

edit given view within this panel -- can provide more detailed view control information than what is present in the middle view control panel

Show Source Code

void T3Panel::GetCameraFocDist ( int view_no, float& fd )

for given view number, set camera focal distance

Show Source Code

void T3Panel::GetCameraOrient ( int view_no, float& x, float& y, float& z, float& r )

for given view number, set camera orientation -- x,y,z axis and r rotation value

Show Source Code

void T3Panel::GetCameraPos ( int view_no, float& x, float& y, float& z )

for given view number, set camera position

Show Source Code

MainWindowViewer* taDataView::GetMyBrowser ( )

get the project browser for this object's project owner

Show Source Code

void T3Panel::GetSavedView ( int view_no )

copy given saved view on the T3ExaminerViewer to our saved view information (for persistence) -- does not actually grab the current view, just the previously saved data -- see SaveCurView

Show Source Code

void T3Panel::GoToSavedView ( int view_no )

tell the viewer to go to given saved view parameters (copies our parameters in case they have been locally modified programmatically)

Show Source Code

void T3Panel::GridLayout ( int n_horiz = 2, float horiz_space = 0.2, float vert_space = 0.2, bool save_views = false )

layout the elements within this view in a grid, starting with the first item in the lower left corner, moving horizontally and up through the items, with given number of items along the horizontal axis, and given spacing between items (can be negative to pack closer together) -- if save_views then the saved views 1-n will be aligned with each of the elements in turn

Show Source Code

bool taDataView::GuiFindFromMe ( taString& find_str )

activate the gui find dialog starting from this object, with given find string

Show Source Code

void taDataView::Help ( )

get help on using this object

Show Source Code

bool taDataView::OpenInWindow ( bool modal = false )

Edit this object in a popup dialog using the gui (if modal == true, the edit dialog blocks all other gui operations until the user closes it)

Show Source Code

taString& taDataView::Print ( taString& strm, int indent = 0 )

print the value of the object to given string

Show Source Code

taString taDataView::PrintStr ( int indent = 0 )

print the value of the object to a string

Show Source Code

void taDataView::RebuildAllViews ( )

call after data changes, to rebuild views, typically when a child is added

Show Source Code

void T3Panel::SaveCurView ( int view_no )

save the current T3 examiner viewer view parameters to the given view (on us and the viewer) -- for programmatic usage

Show Source Code

bool T3Panel::SaveImageEPS ( taString& fname )

save image in EPS format

Show Source Code

bool T3Panel::SaveImageIV ( taString& fname )

save image in IV (open inventor) format

Show Source Code

bool T3Panel::SaveImageSVG ( taString& fname )

save image in SVG (scalable vector graphics) format

Show Source Code

void T3Panel::SetAllSavedViews ( )

copy all our saved views to the T3ExaminerViewer -- during initialization

Show Source Code

void T3Panel::SetCameraFocDist ( int view_no, float fd )

for given view number, set camera focal distance

Show Source Code

void T3Panel::SetCameraOrient ( int view_no, float x, float y, float z, float r )

for given view number, set camera orientation -- x,y,z axis and r rotation value

Show Source Code

void T3Panel::SetCameraParams ( )

set the current camera_params to the viewer camera

Show Source Code

void T3Panel::SetCameraPos ( int view_no, float x, float y, float z )

for given view number, set camera position

Show Source Code

void T3Panel::SetColorScheme ( T3Panel::ColorScheme color_scheme )

Choose a preset color scheme

Show Source Code

void T3Panel::SetImageSize ( int width, int height )

set size of 3d viewer (and thus SaveImageAs image) to given size parameters

Show Source Code

void T3Panel::SetSavedView ( int view_no )

copy our saved view to the T3ExaminerViewer -- does not go to that view, just sets data -- see GoToSavedView

Show Source Code

void taDataView::UpdateAllViews ( )

called after data changes, to update views

Show Source Code

void T3Panel::ViewAll ( )

reset the camera position to view everything in the display

Show Source Code

Method Category: File

taString taDataView::GetFileName ( )

get file name object was last saved with

Show Source Code

taString taDataView::GetFileNameFmProject ( taString& ext, taString& tag, taString& subdir, bool dmem_proc_no = false )

get file name from project file name -- useful for saving files associated with the project; ext = extension; tag = additional tag; subdir = additional directory after any existing in project name; fname = proj->base_name (subdir) + tag + ext; if dmem_proc_no, add dmem proc no to file name. empty if project not found

Show Source Code

taString taDataView::GetProjDir ( )

get the directory path associated with the project that this object lives within

Show Source Code

int taDataView::Load ( taString& fname, taBase** loaded_obj_ptr = __null )

Load object data from given file name (if empty, prompt user for a name) -- sets pointer to loaded obj if non-null: could actually load a different object than this (e.g. if this is a list or group)

Show Source Code

int taDataView::Save ( )

saves the object to a file using current file name

Show Source Code

int taDataView::SaveAs ( taString& fname )

Saves object data to a new file -- if fname is empty, the user is prompted with a file dialog

Show Source Code

bool taDataView::SetFileName ( taString& val )

set file name for object

Show Source Code

Method Category: ListMgmt

taBase* taDataView::CopyChildBefore ( taBase* src, taBase* child_pos )

implemented by container (list) objects: make a copy of the src object and insert it at the position of the child_pos object within this list -- copies the name of the object too

Show Source Code

taBase* taDataView::CopyChildBeforeIndex ( taBase* src, int child_pos )

implemented by container (list) objects: make a copy of the src object and insert it at the position of the child_pos object within this list -- copies the name of the object too

Show Source Code

Method Category: ObjectMgmt

void taDataView::CallFun ( taString& fun_name, taString& args_str )

call function (method) of given name on this object, using args as comma-separated simple literal expressions for argument values, or prompting for args using gui interface otherwise if needed

Show Source Code

void taDataView::ChangeBaseFlag ( int flag, bool set )

sets or clears the flag(s)

Show Source Code

bool taDataView::ChangeMyType ( TypeDef* new_type )

Change me into a different type of object, copying current info (done through owner)

Show Source Code

bool taDataView::CheckConfig ( bool quiet = false )

check the configuration of this object and all its children (defaults to no confirm of success)

Show Source Code

bool taDataView::CheckConfig_Gui ( bool confirm_success = true, bool quiet = false )

check the configuration of this object and all its children -- failed items highlighted in red, items with failed children in yellow

Show Source Code

bool taDataView::CheckError ( bool test, bool quiet, bool& rval, taString& a, taString& b, taString& c, taString& d, taString& e, taString& f, taString& g, taString& h )

for CheckConfig routines: if test, then report config error, including object name, type, and path information; returns test & sets rval to false if test is true -- use e.g. CheckError((condition), quiet, rval, 'msg'));

Show Source Code

void taDataView::ClearBaseFlag ( int flag )

clears the flag(s)

Show Source Code

void taDataView::CloseLater ( )

PERMANENTLY Destroy this object! This is not Iconify or close window..

Show Source Code

bool taDataView::CopyFrom ( taBase* cpy_from )

Copy from given object into this object (this is a safe interface to UnSafeCopy)

Show Source Code

bool taDataView::CopyTo ( taBase* cpy_to )

Copy to given object from this object

Show Source Code

void taDataView::DataUpdate ( bool begin )

bracket data value changes with (nestable) true/false calls;

Show Source Code

void taDataView::DebugInfo ( taString& fun_name, taString& a, taString& b, taString& c, taString& d, taString& e, taString& f, taString& g, taString& h )

reports object identity in addition to the error message -- use this for any debug messages that get logged in reference to this object

Show Source Code

bool taDataView::DerivesFromName ( taString& nm )

does this derive from given type name?

Show Source Code

bool taDataView::DiffCompare ( taBase* cmp_obj )

compare this object with selected comparison object using a structured hierarchical diff operation -- pulls up a diff editor display to allow the user to view and merge the differences between objects

Show Source Code

taString taDataView::DisplayPath ( )

get the path to this object for display purposes -- uses GetPathNames -- if under a program then that is used as starting point, otherwise returns a project relative path using GetPathFromProj -- other special cases may optimize as needed

Show Source Code

taBase* taDataView::DuplicateMe ( )

Make another copy of myself (done through owner)

Show Source Code

taBase* taDataView::FindFromPath ( taString& path, MemberDef*& ret_md, int start = 0 )

find object from path (starting from this object), and position to start (in characters) in the path string -- ret_md is return member def: if NULL and return is !NULL, then it is a member of a list or group, not a member in object

Show Source Code

void* taDataView::FindMembeR ( taString& nm, MemberDef*& ret_md )

find member based on name or type, recursive -- does breadth-first then depth search -- returns pointer of member item, and ret_md is filled in if avail -- if NULL it indicates that it is an item in a list of type taBase and not a proper member

Show Source Code

taString taDataView::GetEnumString ( taString& enum_tp_nm, int enum_val )

get the name corresponding to given enum value in enum type enum_tp_nm

Show Source Code

int taDataView::GetEnumVal ( taString& enum_nm, taString& enum_tp_nm )

get the enum value corresponding to the given enum name (-1 if not found), and sets enum_tp_nm to name of type this enum belongs in (empty if not found)

Show Source Code

int taDataView::GetIndex ( )

object's index within an owner list. cached by some objs.

Show Source Code

taBase* taDataView::GetMemberOwner ( bool highest = false )

get the object that owns this object as a member -- if this object is not a member of its Owner (or has no owner) then it returns NULL -- if highest then it proceeds recursively up to the highest member owner and returns that -- i.e., if this is a member of a member (which is an object) of larger object, this will return the largest such object that contains this as a member at some level

Show Source Code

taString taDataView::GetMemberStrVal ( taString& member )

get a string representation of the current value of given member of this object -- member_name can be a sub-path as well to a value within a member class

Show Source Code

taProject* taDataView::GetMyProj ( )

get the project object that owns this object

Show Source Code

taString taDataView::GetName ( )

Get the name of the object

Show Source Code

taBase* taDataView::GetParent ( )

typically the first non-list/group owner above this one

Show Source Code

taString taDataView::GetPath ( taBase* par_stop = __null )

get path without name information, stop at parent given by par_stop if non-null (resulting path will NOT include the parent info -- it will start with a . and be findable from that parent using FindFromPath)

Show Source Code

taString taDataView::GetPathFromProj ( )

call GetPathNames relative to owning project -- this is the best path to use for saving and setting paths within a project -- tabMisc::RootFindFromPath can use these project-relative paths in conjunction with the current project to find the relevant objects -- is robust to renaming of the project

Show Source Code

taString taDataView::GetPathNames ( taBase* par_stop = __null )

get paths using string names instead of indexes, which is good for portability, stop at parent given by par_stop if non-null (resulting path will NOT include the parent info -- it will start with a . and be findable from that parent using FindFromPath)

Show Source Code

Variant taDataView::GetValFromPath ( taString& path, MemberDef*& ret_md, bool warn_not_found = false )

get a member value from given path -- only follows direct members (of members) of this object -- does not look into items in lists or groups

Show Source Code

bool taDataView::HasBaseFlag ( int flag )

true if flag set, or if multiple, any set

Show Source Code

bool taDataView::HasName ( )

does the object have a name field that can be set?

Show Source Code

bool taDataView::InStructUpdate ( )

is object currently within a struct update already?

Show Source Code

bool taDataView::InheritsFrom ( TypeDef* it )

does this inherit from given type

Show Source Code

bool taDataView::InheritsFromName ( taString& nm )

does this inherit from given type name?

Show Source Code

bool taDataView::IsChildOf ( taBase* obj )

true if this object is a direct or indirect child of the obj (or is the obj)

Show Source Code

bool taDataView::IsParentOf ( taBase* obj )

true if this object is a direct or indirect parent of the obj (or is the obj)

Show Source Code

taString& taDataView::ListSigClients ( taString& strm, int indent = 0 )

list all the data clients for this object to string

Show Source Code

void taDataView::MakeNameUnique ( )

make sure my name is unique relative to names of objects associated with my owner (e.g., if it is a list object), typically because my name has changed, and owner needs to ensure that all names are unique

Show Source Code

taBase* taDataView::New ( int n_objs = 1, TypeDef* type = __null, taString& name = (default name) )

Create n_objs objects of given type (type is optional)

Show Source Code

void taDataView::OwnTempObj ( )

call own on this object with tabMisc::root as the owner -- this is important for temporary objects that don't otherwise live within the main structural hierarchy -- especially for DataTables, objects may not behave properly without being Own'd, as this then sets the owner pointers within the temporary object and calls InitLinks

Show Source Code

void taDataView::PrintMyPath ( )

print out the path to this object to the css console -- can then be copied for use in a program or other such things

Show Source Code

void taDataView::Search ( taString& srch, taBase_PtrList& items, taBase_PtrList* owners = __null, bool text_only = true, bool contains = true, bool case_sensitive = false, bool obj_name = true, bool obj_type = true, bool obj_desc = true, bool obj_val = true, bool mbr_name = true, bool type_desc = false )

search for objects using srch string (which is split by whitespace into separate terms if applicable -- all terms must match), from this point down the structural hierarchy (my members, and their members and objects in lists, etc). items are linked into items list, and all owners of items found are linked into owners list (if present -- can be used as a lookup table for expanding owners to browse found items). contains = use 'contains' for all matches instead of exact match, rest are values to search in (obj_desc includes DisplayName as well as any explicit description), obj_val is only for value members and inline members

Show Source Code

void taDataView::SetBaseFlag ( int flag )

sets the flag(s)

Show Source Code

void taDataView::SetMember ( taString& member, taString& value )

Set member to value for each of the selected objects. Member will be the member name or will be object_name.member_name, e.g. input_size.retina_size.x, replace any space with '_'

Show Source Code

bool taDataView::SetName ( taString& nm )

Set the object's name

Show Source Code

void taDataView::SigEmitUpdated ( )

send the ITEM_UPDATED data changed signal to indicate to gui elements etc that this item has been updated

Show Source Code

void taDataView::StructUpdate ( bool begin )

bracket structural changes with (nestable) true/false calls;

Show Source Code

void taDataView::UpdateAfterEdit ( )

(aka UAE) called after editing, or any user change to members (eg. in the interface, script)

Show Source Code

void taDataView::UpdateAfterEdit_NoGui ( )

does any object-related updates based on changes, but does NOT trigger any gui updates -- use this for updating members inside of an object's UAE

Show Source Code

void taDataView::UpdateAll ( )

call UpdateAfterEdit on this object and all of its members and sub-objects, recursively, unless the class has the NO_UPDATE_AFTER flag set

Show Source Code

void taDataView::setDirty ( bool value )

set the dirty flag indicating a change in object values; 'true' gets forwarded up; 'false' does nothing

Show Source Code

void taDataView::setStale ( )

set the stale flag indicating a change in object values; gets forwarded up ('true' is implied, only the impl obj defines when it is cleared)

Show Source Code

Method Category: UserData

void taDataView::CopyUserData ( taBase& cp )

copy our user data from the user data on another object (replaces any of our existing user data with the copy)

Show Source Code

const Variant taDataView::GetUserData ( taString& key )

get specified user data; returns class default value if not present, or nilVariant if no default user data or class doesn't support UserData

Show Source Code

bool taDataView::HasUserData ( taString& key )

returns true if UserData exists for this key (case sens)

Show Source Code

void taDataView::RemoveAllUserData ( )

get rid of our user data list entirely -- this is done automatically when saving something that has no user data items, but you can also force it with this method -- deletes the whole list

Show Source Code

bool taDataView::RemoveUserData ( taString& key )

removes data for indicated key; returns true if it existed

Show Source Code

void taDataView::SetDocLink ( taDoc* doc )

set a link to a doc from the .docs collection -- the doc will then show up automatically in a panel for this obj -- set to NULL to remove it

Show Source Code

UserDataItem* taDataView::SetUserData ( taString& key, Variant& value, bool gui_notify_signal = true )

make new (or change existing) simple user data entry with given name and value; returns item, which can be ignored -- emits a gui notification signal which can be suppressed if needed for speed or other reasons

Show Source Code

void taDataView::SetUserData_Gui ( taString& key, Variant& value, taString& desc )

make new (or change existing) simple user data entry with given name and value (desc optional) -- this is how to get User Data editor panel to show up the first time

Show Source Code

Method Category: _NoCategory

bool taDataView::AddFromTemplate ( taBase* obj, bool& is_acceptable )

handles drops from toolbar - when adding an object to a program, network, etc - e.g. dropping generic data table onto a program - set is_acceptable for objects 'not handled' but which are acceptable

Show Source Code

void T3Panel::AddView ( T3DataView* view )

add a view

Show Source Code

void taDataView::ChildClearing ( taDataView* child )

override to implement par's portion of clear

Show Source Code

void taDataView::ChildRendered ( taDataView* child )

override to implement par's portion of render

Show Source Code

void taDataView::Clear ( taDataView* par = __null )

clears the view (but doesn't delete any components) (usually override _impl) -- for 3D views this removes the 3D objects from the view, but preserves the viewer-side of the hierarchy

Show Source Code

void taDataView::CloseChild ( taDataView* child )

Show Source Code

void taDataView::DoActions ( taDataView::DataViewAction acts )

do the indicated action(s) if safe in this context (ex loading, whether gui exists, etc.)

Show Source Code

T3DataViewMain* T3Panel::FirstChild ( )

return the first child, as a main

Show Source Code

MemberDef* taDataView::GetDataMemberDef ( )

returns md if known and/or knowable (ex. NULL for list members)

Show Source Code

TypeDef* taDataView::GetDataTypeDef ( )

convenience function, default gets data type from link TypeDef of the data

Show Source Code

taString taDataView::GetLabel ( )

returns a label suitable for tabview tabs, etc.

Show Source Code

taBase* taDataView::GetOwner ( )

Show Source Code

taBase* taDataView::GetOwnerOfType ( TypeDef* td )

Show Source Code

TypeDef* T3Panel::GetTypeDef ( )

Show Source Code

bool taViewer::GetWinState ( )

copy gui state to us (impl) override; true if done (ie mapped)

Show Source Code

void taViewer::Hide ( )

hide (but don't delete) the item, if applicable

Show Source Code

void taDataView::IgnoredSigEmit ( taSigLink* dl, int sls, void* op1, void* op2 )

called instead if ignoreSigEmit was true

Show Source Code

void taDataView::ItemRemoving ( taDataView* item )

items call this on the root item -- usually used by a viewer to insure item removed from things like sel lists

Show Source Code

bool taViewer::PrintImage ( )

print the image of this view to printer

Show Source Code

void taDataView::Refresh ( )

for manual refreshes -- just the impl stuff, not structural stuff

Show Source Code

void taDataView::Render ( )

renders the visible contents (usually override the _impls) -- MUST BE DEFINED IN SUB

Show Source Code

void taDataView::Reset ( )

clears, and deletes any components (usually override _impls)

Show Source Code

bool T3Panel::SaveImageAs ( taString& fname, taViewer::ImageFormat img_fmt = SVG )

save the image of this view to a file -- if fname is empty, it prompts the user for a name

Show Source Code

void taDataView::SetData ( taBase* ta )

set the data to which this points -- must be subclass of data_base

Show Source Code

void taDataView::SetVisible ( bool showing )

called recursively when a view ctrl shows or hides

Show Source Code

bool taViewer::SetWinState ( )

set gui state from us (override impl)

Show Source Code

void taViewer::Show ( )

make the item visible, if this is applicable

Show Source Code

void taDataView::SigDestroying ( )

called when data is destroying (m_data will already be NULL)

Show Source Code

void taDataView::SigLinkDestroying ( taSigLink* dl )

called by SigLink when destroying; it will remove siglink ref in dlc upon return called by SigLink when destroying; it will remove

Show Source Code

void taDataView::SigLinkRecv ( taSigLink* dl, int sls, void* op1, void* op2 )

this is how we receive a signal from the siglink

Show Source Code

void taDataView::SigRecvUpdateAfterEdit ( )

note: normally overrride the _impl

Show Source Code

void taDataView::SigRecvUpdateAfterEdit_Child ( taDataView* chld )

optionally called by child in its DUAE routine; must be added manually

Show Source Code

void* taDataView::This ( )

reference to the 'this' pointer of the client object

Show Source Code

void taDataView::Unbind ( )

clears, and deletes any components (usually override _impls)

Show Source Code

void T3Panel::UpdateNameFmFirstChild ( )

Show Source Code

void taDataView::UpdatePointersAfterCopy_ ( taBase& cp )

Show Source Code

void taDataView::UpdatePointersAfterCopy_impl ( taBase& cp )

Show Source Code

taSigLink** taDataView::addr_sig_link ( )

Show Source Code

taBase* taDataView::data ( )

subclasses usually redefine a strongly typed version

Show Source Code

int taDataView::dbuCnt ( )

batch update: -ve:data, 0:none, +ve:struct

Show Source Code

bool taViewer::deleteOnWinClose ( )

Show Source Code

bool taDataView::hasParent ( )

encapsulated way to check for a par

Show Source Code

bool taDataView::ignoreSigEmit ( )

hidden guys can ignore changes (but they always get Destroyed)

Show Source Code

int taDataView::index ( )

convenience accessor

Show Source Code

bool taDataView::isDataView ( )

true for dataviews

Show Source Code

bool taViewer::isMapped ( )

is the window mapped and ready for drawing -- mostly relevant for 3d classes that have a parallel 3D object hierarchy, where it indicates if the 3d classes have been created, which should only occur when the window is visible only true if in gui mode and gui stuff exists

Show Source Code

bool taViewer::isVisible ( )

whether we are supposed to be showing or not (view state)

Show Source Code

taiSigLink* taDataView::link ( )

Show Source Code

taSigLink* taDataView::link_ ( )

Show Source Code

MemberDef* taDataView::md ( )

ISelectable property member stub

Show Source Code

int taDataView::parDbuCnt ( )

dbu of parent(s); note: only sign is accurate, not necessarily value (optimized)

Show Source Code

MainWindowViewer* taViewer::parent ( )

Show Source Code

TypeDef* taViewer::parentType ( )

the controlling parent -- note that when in a list, this is the list owner, not the list; overrride for strong check in SetOwner

Show Source Code

void taViewer::setVisible ( bool value, bool update_view = true )

whether we are supposed to be showing or not (view state)

Show Source Code

T3DataView* T3Panel::singleChild ( )

return the single child

Show Source Code

bool T3Panel::singleMode ( )

true when one and only one child obj -- it can control some of our properties by default

Show Source Code

int taDataView::visCount ( )

what is the visibility count for this window -- 1 or more should be visible, 0 should be not visible

Show Source Code

Static Member and Method Documentation

Static Members

Static Methods

Static Method Category: ObjectMgmt

Static Method Category: _NoCategory


Static Method Documentation

Static Method Category: ObjectMgmt

void taDataView::CallObjFun ( taBase* obj, taString& fun_name )   [static]

call function (method) of given name on given object, prompting for args using gui interface

Show Source Code

void taDataView::SetMemberStr ( taBase* obj, taString& memb_name, taString& str )   [static]

set member value based on string value -- memb_name can be an arbitrary full path below the obj

Show Source Code

void taDataView::SetMemberVar ( taBase* obj, taString& memb_name, Variant& val )   [static]

set member value based on variant -- memb_name can be an arbitrary full path below the obj

Show Source Code

Static Method Category: _NoCategory

bool taViewer::InitImageExts ( )   [static]

initialize the image extensions, if not already done

Show Source Code

Expert Member and Method Documentation

Expert Members

Expert Member Category: _NoCategory

Expert Member Category: taBase

Expert Methods

Expert Method Category: Access

Expert Method Category: Display

Expert Method Category: File

Expert Method Category: UserData


Expert Member Documentation

Expert Member Category: _NoCategory

taDataView::data_base : TypeDef*

Minimum type for data object

taDataView::m_data : taBase*

data -- referent of the item (not ref'ed)

T3Panel::root_view : T3DataViewRoot

placeholder item -- contains the actual root(s) DataView items as children

T3Panel::root_views : T3DataView_List*

pointer to root_view.children -- for selecting root views

T3Panel::saved_views : T3SavedView_List

saved camera position views from viewer -- this is the persitent version copied from camera

taViewer::visible : bool

whether toolbar window is being shown to user

Expert Member Category: taBase

taOBase::owner : taBase*

pointer to owner

taOBase::user_data_ : UserDataItem_List*

storage for user data (created if needed) DO NOT ACCESS this list directly -- use the GetUserData / SetUserData etc interface!


Expert Method Documentation

Expert Method Category: Access

taMatrix* taDataView::ElView ( )

View of list -- matrix that specifies a subset of items to view, for display and other kinds of functions

Show Source Code

taBase::IndexMode taDataView::ElViewMode ( )

View mode for view of list -- specifies what kind of view data there is, for display and other kinds of functions -- only valid cases are IDX_COORDS or IDX_MASK, or IDX_UNK if no view specified

Show Source Code

int taDataView::ElemCount ( )

number of elements in the container -- used for iteration control

Show Source Code

taBase::IndexMode taDataView::IndexModeDecode ( Variant& idx, int cont_dims )

decode index mode from variant index, and number of dimensions in the container object

Show Source Code

bool taDataView::IndexModeValidate ( Variant& idx, taBase::IndexMode md, int cont_dims )

validate that the index is of an appopriate configuration for given index mode -- issues appropriate error messages if not good

Show Source Code

Expert Method Category: Display

void taDataView::WindowHideHook ( )

this is called when a top-level window that represents this object becomes invisible

Show Source Code

void taDataView::WindowShowHook ( )

this is called when a top-level window that represents this object becomes visible

Show Source Code

Expert Method Category: File

int taDataView::Load_String ( taString& load_str, taBase* par = __null, taBase** loaded_obj_ptr = __null )

load full object information from a string, which should have been generated through a corresponding Save_String call -- must contain the exact information that would be saved to a file for Save_strm -- just a string-stream (sstream) wrapper around Load_strm

Show Source Code

int taDataView::Load_strm ( istream& strm, taBase* par = __null, taBase** loaded_obj_ptr = __null )

Load object data from a file -- sets pointer to loaded obj if non-null: could actually load a different object than this (e.g. if this is a list or group)

Show Source Code

int taDataView::Save_String ( taString& save_str, taBase* par = __null, int indent = 0 )

dump full object save information to a string, which contains the exact information that would be saved to a file for Save_strm -- just a string-stream (sstream) wrapper around Save_strm

Show Source Code

int taDataView::Save_strm ( ostream& strm, taBase* par = __null, int indent = 0 )

Save object data to a file stream

Show Source Code

Expert Method Category: UserData

taDoc* taDataView::GetDocLink ( )

gets a linked Doc, if any; you can use this to test for existence

Show Source Code

bool taDataView::GetUserDataAsBool ( taString& key )

get specified user data as bool (see GetUserData)

Show Source Code

double taDataView::GetUserDataAsDouble ( taString& key )

get specified user data as double (see GetUserData)

Show Source Code

float taDataView::GetUserDataAsFloat ( taString& key )

get specified user data as float (see GetUserData)

Show Source Code

int taDataView::GetUserDataAsInt ( taString& key )

get specified user data as int (see GetUserData)

Show Source Code

const taString taDataView::GetUserDataAsString ( taString& key )

get specified user data as String (see GetUserData)

Show Source Code

const Variant taDataView::GetUserDataDef ( taString& key, Variant& def )

return value if exists, or default if doesn't

Show Source Code

UserDataItem_List* taDataView::GetUserDataList ( bool force = false )

gets the userdatalist for this class

Show Source Code

UserDataItemBase* taDataView::GetUserDataOfType ( TypeDef* typ, taString& key, bool force_create )

gets specified user data of given type, making one if doesn't exist and fc=true

Show Source Code

bool taDataView::HasUserDataList ( )

returns true if UserData exists at al

Show Source Code


Copyright © 2017Regents of the University of Colorado, Carnegie Mellon University, Princeton University.
emergent 8.2.2