New TapeMeasure node added to take away the guess work for
measuring human proportions.
As a result of trying to make realistic avs based on real human models and being able to get hip, waist and bust measurements for most famous models online i came up with the idea of creating a build node that does not actually build anything but just returns the value in its measurement field for a specified sequence of vertices. At the moment this node does no more than measure the bee line distance from vertex to vertex and add the sum, therefore denser vertices used for measuring curved surfaces should result in more accurate results. In the future I may make it so that it can generates an internal spline curve to get more accurate results for curved measurements but i feel pretty happy with it the way it is for the time being to get a good idea of measuring human proportions much the same way u would with a tape measure in the real world at least in concept. If staves is set to just one the TapeMeasure node will return the distance between two vertices in the measurement field (2 staves = 3 vertices, 3 staves = 4 vertices and so on). The baseVertex specifies the index for the first vertex to begin measuring from. Because the TapeMeasure node measures the vertices in ascending index order you must be sure that the index order of the the vertices u are measuring follow each other one after the other. The index order can be changed for a vertex manually by pressing the key U to decrement it's order and pressing I to increment it's order. The index for the selected vertex is displayed in the top right corner of the 3d window next to the text "coordIndex"
When measuring simple parts like the waist you can easily use the vertices from the waist to measure it but for more complexly arranged areas like the hips and bust its better to make a band of triangles specially for the purpose of measuring this area. The band of triangles can be put in a part that is a child of the part that is being measured. This band can be saved using export so that the part can then be deleted when it is no longer wanted but can be easily added back later and reused if its wanted again at a later date.
Keyboard support for tugging multiple vertices.
With some suggestions from bumpy I added experimental code to allow more intuitive multiple vertex tugging some weeks ago but have not had enough time to write about it and only the mouse could be used to control the tugging in this mode. Now multiple vertex tugging can also be achieved using the keyboard to allow more precise steady tugging in the same manner when tugging a single vertex using the keyboard is done. To make seamless do multiple vertex tugging set the tugRadius to a value greater than zero. The tugRadius can be increased from 0 to any value by holding down ctrl + the "add" key from the numpad. Ctrl+ the "minus" key from the numpad decreases the tugRadius. The tugRadius value can also be changed from the settings window (use short cut key ")" to open settings).
The keys to use for the actual tugging are 4,6 for X, 8,2 for Y and 9,3 for Z same as for single tugging mode shown in the minimalist tutorial
Bad bug when resetting MFNode field discoved rather late but
Since 2.029 i added the feature so that MFNode fields could be reset (all nodes in the field deleted). This i thought was handy if u wanted to get rid of all the build nodes and be just left with the triangles for the parts in a Seamless node. I made Seamless3d warn that all nodes would be deleted if reset was selected but Ep experienced accidentally selecting reset and then selecting NO from the warning dialogue box but Seamless3d deleted all her build nodes anyway! The reason for why such a bad bug escaped my attention was I only ever used the cancel key to say no. This bug has now been fixed for 2.039
Sadly Ep saved her work after all her nodes were deleted unaware what had happened and so lost a lot of work. A hard learned example of why it pays to make copies as u work especially for a cutting edge program like Seamless3d which can work bug free without a problem days on end but its still very much possible when using rarely used procedures to encounter a bad bug like this.
I have made it so that the compileTransform command from the F10 menu for scale/rotation selection works properly for skeletons using complex combinations of scale and rotation.
Compiling scale/rotation is necessary if u directly use the rotation field from a part node to change it's orientation and if u want it permenantly to stay to this orientation after all the part's rotation fields have been reset
To reset all the rotation fields for all the parts in a Seamless node select any Part belonging to the Seamless node or the Seamless node itself and then press Alt+R.
Seamless3d More Windows XP, Windows 2000 Friendly
As a result of my video settings for my computer getting messed up in a crash probably due to the very hot weather we have had since Xmas i decided to install windows xp in place of win 98. This allows me to test seamless better on this operating system. The last few versions i guess would already be better thanks to bumpy helping me get the mouse work better for windows 2000. In XP the last ROUTE displayed in a control panel had a minor problem of the text not being well displayed due to the window not having enough height. About the lower half of the characters would be missing. I have fixed this problem for Seamless3d 2.039 by making it so that the control panels are automatically adjusted so that the client area of the window is always the same no matter how big the title bar is for the operating system.
DEF bug added to 2.039 fixed for 2.040
Sorry 2.039 was yet another version that had a fly in the ointment. This version seemed to work without a problem. It could open old files with lots of complex build nodes in it just fine but found out later if you tried to add a new node and DEFine it (name it) it could not. Worse still if u then tried to save the file afterwards after attempting this seamless would be unable to re open the file! But not the worst kind of bug really since the illegal code can be easily fixed in a text editor such as VrmlPad. Just open the smls file in the text editor and delete the text DEF in front of the node. You will see no actual name for the DEF got saved just the word DEF next to the node which is what makes it illegal code. Alternatively u could leave the DEF in and add the name for the DEF in the text editor. But if u don't feel at home with hand editing VRML code in a text editor and have messed up a smls file from this DEF bug please let me help by sending me the broken file to email@example.com so that I can quickly send your file back to u fixed.
Improved manual build cycle
I found that if a Seamless node was not in the scene node's children field a build cycle could not be manually activated by pressing the short cut key F9. So I have fixed this so that F9 now works if the Seamless node is inside any type of Grouping node or PROTO without a problem no matter how far the Seamless node is to the right in the scene tree. Activating the build cycle manually is handy when u want to update the measurement field for the new TapeMeasure node.
Very late in the day it has come to my attention that I have been very much mistaken in the belief that an instance of an Avatar PROTO is automatically created by contact. How I originally came to get this belief i am not sure, it is hardly surprising though, my life always has been full of confusion, mistakes and blunders. Because an instance is needed in the final generated file I have made Seamless3d automatically add an instance of an Avatar PROTO to the output file if the smls file contains a PROTO named Avatar. As a result of this change made to Seamless3d I had to make a few small changes to my minimalist online tutorial. I have also made a few other minor changes to the tutorial just to slightly improve it here and there.