[vtk-developers] IRC Session log for Tue Jul 16 2002

Andy Cedilnik andy.cedilnik at kitware.com
Tue Jul 16 11:07:59 EDT 2002


**** BEGIN LOGGING AT Tue Jul 16 09:55:55 2002

<legoandy>	hi prabhu
<prabhu>	hi
<SebBarre>	Hi
<prabhu>	Seb, the ftgl stuff looks very nice. thanks.
<KenMartin>	Good morning folks, why don't we get started
<KenMartin>	I have three items on the agenda right now
<KenMartin>	1) The new text mappers
<prabhu>	Ok, adding SetRefCount to vtkObject (via vtkObjectBase) is that ok?
<KenMartin>	2) CMake 1.4
<KenMartin>	3) vtkString
<KenMartin>	4) adding SetRefCount
<KenMartin>	Starting with (1) Thanks Sebastien for doing a great job with the text mappers
<KenMartin>	It looks like they are working pretty well
<KenMartin>	and many platforms that had text problems seem to be OK now
<SebBarre>	Thanks Ken, they look OK. Thanks for being patient :)
<prabhu>	yes and it looks nice altho the fonts look bigger than they used to (which is not a hassle).
<legoandy>	MS Visual Studio 6 release still crashes 5 tests
<KenMartin>	font related?
<prabhu>	Hmm, one thing with the ScalarBar and Axes actors -- long standing bug
<prabhu>	If you reset the font factor
<prabhu>	the font factor will not change unless the window is resized.
<SebBarre>	lego: are you sure ? I detected the leak yesterday and send a fix.
<legoandy>	Looks like... They started crashing after fonts
<legoandy>	They crashed today
<KenMartin>	I think the scalar bar and axes actor are both on the short list for a clean up
<KenMartin>	both classes have problems
<prabhu>	oh ok
<SebBarre>	lego : yes, I can see that.
<KenMartin>	There are also some long standing SIGFPE issues on the dec that will someday get investigated
<KenMartin>	On to (2)
<KenMartin>	We have cut Cmake 1.4 and packaged it up and moved the LatestRelease tag
<KenMartin>	I will announce it shortly
<SebBarre>	prahbo: I'll look at it at some point, but I'm pretty sure I made a lot of tests to check that the MTime are right. I'll keep u posted
<KenMartin>	and then after that I will update the VTK files to use 1.4
<legoandy>	Means I can finish Java build and vtkpython
<KenMartin>	So that means you must upgrade to CMake 1.4 soon
<prabhu>	Seb, the mtime for the font change is not checked IIRC (I looked very long ago tho)
<KenMartin>	Item (3) vtkString
<KenMartin>	There is a helper class called vtkString that provides some ease of use functionality
<SebBarre>	prabhu: oh, if you did not check recently, then I can tell you that I fixed most of these MTime issues while switching all actors to vtk TextProperty
<KenMartin>	Andy want to provide a brief desc of its usefulness
<legoandy>	He he
<SebBarre>	Ken: speaking of vtkString, it reminds me the container. Can we start using them ?
<legoandy>	Well, 
<legoandy>	Strings in C are a pain... 
<KenMartin>	Seb, Lets disc string first
<legoandy>	Unfortunately they are pretty fast compare to some string class
<legoandy>	Also, people are used to using them certain way
<legoandy>	this changed with some new compilers such as .NET
<legoandy>	.NET complains for example when you assign strlen to int
<legoandy>	also, there is an issue of strdup, which uses malloc not new
<legoandy>	and of cousrse the readability of strcmp
<legoandy>	So, vtkString packages all this but maintain the speed of C style strings
<legoandy>	And  it is readable
<KenMartin>	vtkString is not a container, but simply provides some utility functions for use such as vtkString::Length(const char *)
<SebBarre>	is it for internal use, or do we plan to change the whole API ?
<legoandy>	For internal use only
<legoandy>	It operates on char *
<legoandy>	So you can mostly just replace existing code
<hoffman>	So vtkString is really a name space for a group of functions that work with const char*?
<legoandy>	strlen(foo) = vtkString::Length(foo)
<legoandy>	yes
<KenMartin>	I feel that vtkString doesn't provide enough benefits to warrent the departure from standard C routines such as strlen
<KenMartin>	warrant (sp)
<hoffman>	I would expect vtkString to be a class that handled string memory
<legoandy>	also, I am planning to add case insensitive compare
<SebBarre>	ah ok, I did not get that, just a namespace
<legoandy>	do we need a string class?
<kingb>	I would call it vtkStringTools or something indicating a namespace.
<hoffman>	vtkString is like vtkMath right now
<legoandy>	MAkes it loong and ..
<KenMartin>	Any other thoughts?
<KenMartin>	OK, we will drink some beer and figure it out later
<prabhu>	ok.
<KenMartin>	Item (4) SetRefCOunt Prabhu
<prabhu>	yes
<prabhu>	I understand that SetREfcount is dangerous etc. and the reason I asked for it is rather selfish
<legoandy>	Explain
<prabhu>	The older API had exposed Set and Get Reference count
<prabhu>	In the vtkPipeline browser I remove these methods when I generate the GUI
<kingb>	In what situation is SetReferenceCount useful?  Breaking refcount loops?
<prabhu>	Now some folks check out VTK cvs and run the browser and things dont work.
<prabhu>	So I need to add the method back into vtkObject to keep things consistent
<prabhu>	I dont use it.
<legoandy>	How about dir(foo)
<prabhu>	Its just that it used to be there and isnt there anymore.
<legoandy>	I mean in python you can check if a method exists
<prabhu>	and folks who download the pipeline browser have difficulty when they use cvs.
<prabhu>	so yes, its selfish.
<prabhu>	of course
<KenMartin>	So new versions of your browser can be modified to handle it not being there (if version >) ...
<kingb>	We could put it in with an annoying deprecation warning when called.
<prabhu>	they already are.
<prabhu>	the cvs version of the browser already deals with the issue
<KenMartin>	but your old version clearly doesn't have the logic to handle it
<prabhu>	its a non-issue.
<prabhu>	yes
<KenMartin>	I get it.  We could put it in with a deprecated message and remove it before 4.2 is released
<legoandy>	Once somebody fixes python wrappings, to include vtkObjectBase this should go away?
<KenMartin>	Woudl that solve your issue?
<prabhu>	yes, possibly.
<KenMartin>	Where "somebody" is David G I assume?
<prabhu>	Its really not a big deal.
<prabhu>	Yes.
<prabhu>	But David seems very busy these days.
<KenMartin>	If it isn;t a big deal then lets leave it out and hope that David updates the Python wrappers.
<KenMartin>	Other issues?
<kingb>	vtkCollectionIterator is now available for those interested.
<legoandy>	VTK Java and vtkpython
<prabhu>	Its just an irritation for some of the browser users but really its no big deal I could always keep a patch ready.
<KenMartin>	As Seb asked, are the containers ready?
<legoandy>	vtkpython seems to be working on all platforms I tested
<prabhu>	what are the issues with vtkpython?
<legoandy>	and I tested VTK Java build on Linux and Windows and it works
<SebBarre>	are the containers ready folks ?
<prabhu>	Are there any vtK python users here apart from me?  If so I'd like to discuss some python testing issues.
<legoandy>	I thought there were some problems
<legoandy>	Containers are ready
<SebBarre>	and did you had any pb with template instantiations (i.e. can we have template in declarations ?)
<legoandy>	vtkArrayMap has to be reimplemented to be more efficient and explcit instantiation has to be fixed
<legoandy>	You have to BTX/ETX it
<prabhu>	Actually, if we are not going to add SetReferenceCount why do we need to add GetReferenceCount?
<legoandy>	And it has to be in private or protected section
<kingb>	GetReferenceCount is great for debugging.
<SebBarre>	OK, I'm just asking since to remove the STL dependency in FTGL I created a small vector class, with macro instantiation instead of real instantion, waiting for you guys to investigate the pb. I'll stick to macro, it's working OK, and it's a minor detail lost in Utilities/ anyway
<legoandy>	Well, getrefcount is more usefull
<kingb>	SebBarre: you can't use the containers from the Utilities directory anyway.
<SebBarre>	I know
<prabhu>	Yes, true.
<SebBarre>	I'm not going to put dependency between Utilities/ and VTK
<legoandy>	Once python wrapping is fixed getrefcount goes to mr. attc
<prabhu>	what is mr. attc?
<legoandy>	/dev/null
<prabhu>	oh
<legoandy>	in CVS terminology
<KenMartin>	So the containers mostly work except for explicit instantian when instantiated in multiple libraries?
<legoandy>	I guess
<prabhu>	But getrefcount is useful for debugging
<SebBarre>	BTW, I do not remember who asked me for that, but text rendering works offscreen now
<prabhu>	cool.
<legoandy>	But when python wrapping is fixed it will come from vtkObjectBase
<prabhu>	oh
<kingb>	KenMartin: yes, we need to establish a policy about where to put explicit instantiations.
<KenMartin>	You don't remeber who asked because they asked so long ago :-)
<SebBarre>	ouch
<legoandy>	containers are already being used (and tested in python wrapping)
<prabhu>	But are there plans to "fix" the python wrappers?
<legoandy>	yes
<legoandy>	(this answer is subject to change)
<KenMartin>	Other issues?
<SebBarre>	Burn magrathea, burn...
<SebBarre>	otherwise no, no other issues
<legoandy>	VTK Java... Commit or not?
<legoandy>	Fix it...
<prabhu>	Will the vtkpython executable be built once we move to Cmake1.4?
<legoandy>	yes
<legoandy>	Hopefully
<KenMartin>	Let me check in the updated CMakeLists files first, then you can merge in the VTK Java stuff
<legoandy>	I tested on couple of platforms
<prabhu>	ok could you let me know so I will fix the setup.py appropriately.
<hoffman>	someone on the list suggested we make an option so that some of the stuff in utilities in not compiled, but the system version is used instead (jpeg, tiff)
<SebBarre>	I don't think it's reasonable
<KenMartin>	We had that at one point and I think we dropped it due to problems
<prabhu>	mea culpa.
<kingb>	That would allow applications to use the system libs without getting multiple symbols.
<SebBarre>	our Utilities/* compile sometimes on more platforms now than they used to be
<KenMartin>	I don't recall what the problems were though
<KenMartin>	Maybe we will look into it again, low priority, but I understand the motivation
<prabhu>	Did you run into version related problems with libraries.  A while back there were two versions of jpeg libs and they caused some headache.
<prabhu>	that would be great. thanks.
<legoandy>	isn't python linked with java and expat?
<KenMartin>	I don't remember, I think it was version problems with some OS versions 
<prabhu>	One question.
<prabhu>	Why don't the VTK libs have version numbers themselves.
<prabhu>	So that we can differentiate between 4.0 and 5.0 say.
<KenMartin>	I want to add this, also a debug option vtkCommon42d.dll
<KenMartin>	I will probably stick this in before VTK 4.2 is released. I have wanted it since before VTK 3.2
<hoffman>	That would cause quite a lot of applications built on vtk to stop building....
<kingb>	That's what symlinks from libvtkCommon.so -> libvtkCommon.so.4.2 are for.
<kingb>	At least on unix..
<prabhu>	legoandy: python is not linked with java.
<hoffman>	No sym links for .dlls
<KenMartin>	Not really, CMake can handle it, if they are not using CMake then they will update
<KenMartin>	We don;t have releases of VTK that frequently
<KenMartin>	It also solves a lot of the multiple VTK on one system problems when people upgrade
<prabhu>	yes.
<legoandy>	sounds good
<prabhu>	In fact the debian maintainer goes through some hoops to add version numbers etc.
<KenMartin>	Other Issues?
<KenMartin>	Going...
<KenMartin>	Going...
<prabhu>	one sec.
<legoandy>	That was a minute almost
<prabhu>	You mean you do plan on adding version numbers to the libs?
<prabhu>	I'm hungry and my typing is all awry. :)
<prabhu>	yes?
<KenMartin>	Yes
<prabhu>	great. thanks.
<KenMartin>	Was that it?
<prabhu>	yes. :)
<KenMartin>	Going...
<KenMartin>	Going...
<KenMartin>	Gone
<KenMartin>	Thanks Folks
<prabhu>	bye
**** ENDING LOGGING AT Tue Jul 16 10:48:43 2002







More information about the vtk-developers mailing list