Login  Register

Re: New Cobalt Release for 20090330

Posted by Phua Khai Fong on Apr 07, 2009; 12:16pm
URL: https://forum.world.st/New-Cobalt-Release-for-20090330-tp127574p127581.html

Hi mstramba,

Thanks for using the KMZ importer. I downloaded your rubik skp model and exported it to Google Earth 4 kmz format. It loaded in Cobalt through the "Add Model" function without problems. I have attached the kmz model in this mail. I used Sketchup ver 6.4.112 though (not sure if ver 7 is compatible). Please send me the kmz file you exported so I can see where the problem is. Thanks.

Regards,
Fong


From: mstramba <[hidden email]>
To: [hidden email]
Sent: Friday, April 3, 2009 4:52:53
Subject: Re: [croquet-dev] New Cobalt Release for 20090330


John,

First, I can't seem to close the 'Annotator' "entry panel" at the bottom of
the Squeak window.
This in turn is hiding the "blue ball", so I'm launching Cobalt by opening
the Objects menu.

Second, still having problems importing objects. I've installed Sketchup
v7.0.10247, and have exported some skp files to kmz format.

Here's one of them (a Rubik cube) http://tinyurl.com/cmt23t

When trying to use the Add Object menu, the errors are :

http://sketchup.google.com/3dwarehouse/download?mid=4e9447dfd2b56527fc7a8e315c9ddc8&rtyp=s6&fn=Rubik%27s+Cube+-+Detailed&ctyp=other&prevstart=0&ts=1218308681000

=========================================================
Error: Instances of UndefinedObject are not indexable
2 April 2009 4:41:30 pm

VM: Win32 - a SmalltalkImage
Image: Croquet1.0beta [latest update: #2]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir D:\Squeak3.10.2-7179\Cobalt\20090330\cob
Trusted Dir D:\Squeak3.10.2-7179\Cobalt\20090330\cob\Mike
Untrusted Dir C:\My Squeak\Mike

UndefinedObject(Object)>>error:
    Receiver: nil
    Arguments and temporary variables:
        aString:     'Instances of UndefinedObject are not indexable'
    Receiver's instance variables:
nil

UndefinedObject(Object)>>errorNotIndexable
    Receiver: nil
    Arguments and temporary variables:

    Receiver's instance variables:
nil

UndefinedObject(Object)>>at:
    Receiver: nil
    Arguments and temporary variables:
        index:     2
    Receiver's instance variables:
nil

[] in CoDOMTriangle(CoDOMShapes)>>buildIndices {[:i |  tempVertex  at:
count  put: (vertexBuffer at: (indices at: i)      ...]}
    Arguments and temporary variables:
        tempNormal:     a Vector3Array(a Vector3(1.0 -0.0 -0.0) a Vector3(0.0 0.0
0.0) a Ve...etc...
        tempTexcoord:     a Vector2Array(a Vector2(0.0 0.0) a Vector2(0.0 0.0) a
Vector2(0....etc...
        tempVertex:     a Vector3Array(a Vector3(32.05359649658203 33.4033317565918
0.0) a ...etc...
        count:     1
        i:     1
        j:     nil
        jLimiT:     nil


--- The full stack ---
UndefinedObject(Object)>>error:
UndefinedObject(Object)>>errorNotIndexable
UndefinedObject(Object)>>at:
[] in CoDOMTriangle(CoDOMShapes)>>buildIndices {[:i |  tempVertex  at:
count  put: (vertexBuffer at: (indices at: i)      ...]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SmallInteger(Number)>>to:by:do:
CoDOMTriangle(CoDOMShapes)>>buildIndices
CoDOMMesh>>parseTriangle:
[] in CoDOMMesh>>parseAll: {[:tri |  haveTriangle := true.  haveLine :=
false.  Transcript show: 'Parsin...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol
do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value:
each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
CoDOMMesh>>parseAll:
[] in CoDOMGeometry>>parseMesh: {[:m |  mesh := CoDOMMesh new.  mesh
rootFrame: rootFrame.  mesh matList: mat...]}
XMLElement>>tagsNamed:do:
CoDOMGeometry>>parseMesh:
[] in CoColladaDOMImporter>>parseGeometry: {[:mesh |  m := geometry
parseMesh: mesh.  m objectName: geometry coName.  li...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol
do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value:
each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
CoColladaDOMImporter>>parseGeometry:
[] in CoColladaDOMImporter>>parseFile: {[:geo |  bar value: indGeoCount /
geoCount * 100 + 70.  self parseGeometry: ...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol
do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value:
each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol
do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value:
each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
[] in CoColladaDOMImporter>>parseFile: {[:bar |  aXMLElements  tagsNamed:
#asset  do: [:ass | rootFrame parseAsset...]}
[] in CProgressBar>>displayProgress:at:from:to:during: {[result := workBlock   
value: [:newValue |      self value: newValue.    ...]}
BlockContext>>on:do:
[] in CProgressBar>>displayProgress:at:from:to:during: {[[result :=
workBlock    value: [:newValue |      self value: newValue.  ...]}
BlockContext>>ensure:
CProgressBar>>displayProgress:at:from:to:during:
CProgressBar class>>displayProgress:at:from:to:during:
CoColladaDOMImporter>>parseFile:
CoColladaDOMImporter>>buildFrame
CobaltMenuProject(CroquetMenuProject)>>actionImportKMZ:
CobaltMenuProject>>actionAddModel
AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithArguments:event:
...etc...

=========================================================
As for the "drive A: thing .."

For now, I just stuck a random disk in drive A: ;)

I don't know the nitty-gritty of the programming, but programs like windows
explorer, or even the 'open file dialog' for any windows program ... when
you navigate to 'my computer' (i.e. an overall view of all drives), the
drive letters ARE displayed, but the drives are not actually read until you
doubleclick / press enter on a drive letter.  It seems that the first time
the 'select a model' dialog is run, it is by default selecting the first
drive in the list (A:) and trying to read it. 

Is it possible for that dialog to be opened without any drive being
selected?  Or better yet, either a) have the drive/directory that the
program was launched from be displayed or b) have an entry under the
Cobalt/general preferences for file locations and start from there (the
default which would be the program's launch directory).

btw all the above is standard in most every other program ;)

Mike





--
View this message in context: http://www.nabble.com/New-Cobalt-Release-for-20090330-tp22802428p22856762.html
Sent from the Croquet - Dev mailing list archive at Nabble.com.



Get your preferred Email name!
Now you can @ymail.com and @rocketmail.com.

Rubik_s Cube - Detailed.kmz (171K) Download Attachment