David Ikeda's Power Tools
The tools are no longer available. They have been integrated into Lightwave 8, and my contract with Newtek does not permit me to offer them on my site anymore.
More plugins are under way but I don't want to give their features away yet to avoid pressure/hype.
Foo, I accidentally introduced a bug in select loop in poly mode where the plugin froze when attempting to select a poly loop with open borders included. To address the issue, I have released another small update. The update also addresses a problem with connect when attempting to do multiple connections at once where not all pairs of poly groups to connect were connected (often it left just one pair of polys unconnected, depending on the number of connections you were trying to make at once).
I must apologize for the frequency of small updates recently. Since school started, I've been having to work very hastily and haven't been able to test some of the releases as thoroughly as I should. As a result, there were test cases I missed which didn't work, hence the need for these small fix updates. I'm hoping I've got all the problems related to the most recent enhancements/additions taken care of. I will try to be more careful in the future. Please let me know if you find anything else.
Another small update is ready. Fortunately I've had some time to make small changes during these first few days of school. The changes/additions are as follows:
Furthermore, because it's so wide, the drawing of the control strangely becomes ridiculously slow. One would think clipping would prevent the time to draw/blt the control from increasing much if 99% of it isn't going to be drawn. I never noticed this problem earlier since I tested the plugins under debug modes with optimizations turned off, for which the plugin worked fine. The problem doesn't occur in in gc++ or CodeWarrior compiles. As far as I know, it is just a quirky bug in the Lightwave SDK that occurs only under some specific optimizations offered only by Microsoft Visual C++. I constructed a minimal test case - a program that did nothing but display a panel with a popup control on it, and the same problem occurred. Since fixing the problem seems impossible without switching compilers or compromising the speed of the plugins, I found a way to get around it by using wpopup control, a control similar to the popup control with the exception that it allows you to explicitly set the width. I will release a small update with the fix in a short while.
Oops! Today I received a report about how select loop and cut do not work together properly. I found it was due to a bug in select loop in poly mode which caused the first two polys in the selection to be in order but the rest of the loop to be in reverse order. I thought I fixed this bug a while ago, but apparently I fixed it only for point mode and forgot to do the same for poly mode. Well, now it's fixed. I managed to squeeze in this little update after school today (things haven't become too busy yet).
Beta 4 is finished! This will probably be my last update for a while since school begins tomorrow. Looking back at the past month, I'm suprised I was able to make this many changes. Perhaps I will have a chance to get some more work done during Christmas vacation.
The main feature of the release is the new set of cutting tools added. The tools are similar to my old Quicksaw scripts but with the ability to create any number of customly-spaced cuts using a Bandsaw-like interface for editing divisions. See the tool links below for details on the newly-added tools. Following is a list of all the changes in this version:
The existing tools are finally nearing a state of completion. Hopefully just about all the bugs have been weeded out and the necessary improvements and optimizations made. There are only a few things left on the to do list at the bottom of the page.
Smooth Shift Speed:
Requires no initialization. The time to update remains static even for the first time
dragging. It took from 14-16 seconds to update each frame. FPS: 0.067
Super Shift Speed:
Requires an initialization to calculate information ahead of time when you first begin
dragging with a new selection. Also, if you modify the selection by using a non-interactive
plugin while running super shift, super shift will also re-initialize when you begin dragging
with the changed selection. Time to initialize ranged from 24-27 seconds, which is long but not
that long if you consider the time for smooth shift to just update one frame! Once initialized,
the plugin updated at a rate of almost 3 frames per second. I was able to measure the time much
more precisely than smooth shift because I timed it in the code. The peak speed was 3.08 fps,
with an average of around 2.7 fps, roughly 40 times faster than smooth shift!
Of course, most people probably don't try to shift 4096 polys at once, or at least not on a system with specs like mine. However, I've received messages from numerous people who were complaining about super shift being so slow in comparison to smooth shift. I hope you guys will be happy with the new one.
As for translate, it's still a little slower than modeler's move tool but it's almost there and certainly way faster than it used to be. I discovered a bug which occurs when you try to translate along the normals of squashed polys or points that are surrounded by squashed polys. By squashed, I mean polys that have one or more points that are positioned in the exact same location as another. The most common case occurs when using translate in conjunction with extender in point mode. When you extend a group of points out of a bordering edge, the polys you extend are completely squashed and flat until you drag those points out. For the time being, i'm working on just making it detect squashed polys and not translate points which have no valid polys surrounding them when translating in normal mode. However, I'm also looking into trying to use the points of the poly underneath since using translate in normal mode with extender seems like something that would be handy.
New bug report received about SuperShift crashing when one or more of the polys in the selection have opposite facing normals from the rest. I have added this to the to-do list and will look into this and try to find a fix ASAP.
Here are some plugins I've been working on. They were all developed within the past three weeks, though I have been learning the SDK and writing wrapper code for the past several months. As usual, I've been very busy with my classes and haven't had the chance to get much done. However, I am hoping to add a lot more plugins to the list in the future.
To use the tools, add the ikedalw.p plugin to Modeler using the Modeler/Plug-ins/Add Plug-ins menu. Once the plugin is added, a series of commands will be added to lightwave. You can assign these commands for use as menu items or as keyboard shortcuts or both. To do so, select Modeler/Interface/Edit Keyboard Shortcuts for assigning keyboard shortcuts or Modeler/Interface/Edit Menu Layout for adding menu items. My tools will appear under a command group labeled "David Ikeda."
These tools are in their early testing phases. They should be used with caution. Please save often and check back often for updates. The webpage and documentation for my tools are also under construction. Some of the tools could use some better documentation and more example images/animations. I will try to get working on these when time allows.
Please note that I'm just a student and that these plugins are neither profitable to me financially nor professionally, as I don't have any plans to work in the field of 3d graphics and also don't use lightwave very much save for some simple effects. My inspiration is the positive feedback I get along with the knowledge that talented artists are using my tools. This is the greatest reward for me. If you like my plugins, please help me out by telling your friends and co-workers about them. Also, if you like the tools or know of anyone who does, I would love to hear about it. This will keep me motivated to continue working on my plugins and keep them free of charge.
If you have any artwork you created using these tools, I would love to see it. Please send me e-mail at newbie3d@yahoo.com. If I get enough responses, I would like to create a gallery for graphics created using the plugins. My dream, however, is for an artist to use some of my tools in a timelapse video to demonstrate their practical usage. I lack the artistic skills to make anything special. If anyone does this, please let me know! Perhaps I can learn some tricks about using my tools as well.
May 23, 2003
Hey guys, very sorry but I've picked up full-time independent study courses for the summer. It was something unexpected that I was offered during finals. I have been receiving all the e-mails and I appreciate the comments and have noted all the bugs and suggestions reported. I will fix them as soon as I can, but for the time being I have to focus all my time and energy on these courses. Please be patient and I'll try to see if I can find an opportunity to work on the plugins some more and at least address the bugs that have been reported.
April 24, 2003
Thanks very much for all the feedback. It may take me a while to respond to all the e-mails, but I have read through all of them and will try to respond as soon as I can. I'm currently a little overwhelmed with my studies. I have some major projects due at the end of school and only have two weeks of school left. As such, it will be several weeks before I can work on an update for the plugins. However, after that time, I will have plenty of free time to get a lot of work done.
There have been several bugs reported. They will be the first thing to be addressed in the update. For the time being, please avoid using connect polygons with polygons that are coplanar (this will result in a divide by zero error which will crash lightwave). Also, avoid activating super shift in point mode. I've received a report that this can cause a crash. Some people have been sending video attachments to show when a bug occurs. This is extremely helpful for me in spotting the problem. If anyone else spots a bug, I would really appreciate it if a video or some images are attached illustrating when the bug occurs. Please also check the things to improve/fix section before reporting anything as a bug.
Several people have asked me if they could get in on the private testing of new plugins. At this point, I'm just publically releasing all the plugins I finish, so there's not really any private testing involved now that the basic toolset is complete.`