|
Sweet Home 3D Forum » List all forums » » Forum: Developers » » » Thread: SH3D design. Do it less coupled » » » » Post: Re: SH3D design. Do it less coupled |
Print at Dec 19, 2025, 10:19:04 AM |
| Posted by Puybaret at May 21, 2010, 6:42:58 PM |
|
Re: SH3D design. Do it less coupled Alied, I don't really understand your point: - Additional Java 3D loaders can be specified by the System property com.eteks.sweethome3d.j3d.additionalLoaderClasses used in ModelManager class. A Service lookup is probably better but I felt that setting a System property + changing classpath would be simpler! - Anyone can develop and install plug-ins with additional features accessible from the user interface. The plug-in system isn't probably perfect because there's no user interface in the program to manage installed plug-ins and it doesn't give access to program's controllers and views. But as so few developers showed some public interest to it until now, I prefer to add features required by users. - Furniture catalog, textures catalog and user interface languages list can be customized and extended with SH3F, SH3T and SH3L files. - If you need a light version, program can be launched without iText, FreeHep, SunFlow and JMF libraries (like in the Online version shown to unregistered users); simply disable the actions that give access to the features requiring these libraries, in a derived version of the program. - I try to keep program not too complicated with a clean MVC architecture, ensure backwards compatibility, and use Java packages as modules with clear dependencies checked by PackageDependenciesTest. Within a package, some classes are even completely or mostly independent from other classes like the DAE/Collada Loader I developed recently. Until now, all this seems to work better and better, since the last derived version I programmed didn't require me to change Sweet Home 3D API, even if that program required new types in its model and a different user interface. But I guess you know all that, since you're familiar with the code. So what additional changes should I make without breaking compatibility? About your NetBeans RCP version, I succeeded to check it out, and load it in NetBeans 6.8, but it refuses to run from NetBeans. It says: /Applications/Developer/NetBeans/NetBeans 6.8.app/Contents/Resources/NetBeans/harness/suite.xml:121: Cannot open /[path-to]/sh3d-nb/SH3D_NB/sweethome3d-plugin/nbproject/project.xmlAny idea? I'm not used to NetBeans and ran it only for its nice profiler until now. ---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
|
|
Current timezone is GMT Dec 19, 2025, 10:19:04 AM |