myspace falling objects
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3254
Yed 2.0.0
Yed is a C library of objects that handle filesystems, XML data, FTP connections, etc. more>>
Yed is an Open Source research project; its mission is the developing of a C software library made of modules ( objects )iUnknown.org instanceable in according to the main paradigms of Object Oriented Programming: incapsulation,data hiding and inheritance.
Yed core acts at only C compiler preprocessing level, using particular macros; therefore, using Yed objects is transparent to the C compiler, and it is not necessary to develope additional " translation" tools that have to be run before compiling.
Yed library contains objects that handle XML files, FTP connections, file system operations and so on.
<<lessYed core acts at only C compiler preprocessing level, using particular macros; therefore, using Yed objects is transparent to the C compiler, and it is not necessary to develope additional " translation" tools that have to be run before compiling.
Yed library contains objects that handle XML files, FTP connections, file system operations and so on.
Download (0.047MB)
Added: 2005-04-13 License: MIT/X Consortium License Price:
1654 downloads
Torus 0.6.2
Torus is a simple and easy game. more>>
Torus is a simple game inspired by Torus for DOS. The object of Torus is to clear falling toruses by aligning toruses with the same color on one of several protruding pipes (the game concept is similar to Tetris(R)). It is written in C++ with Qt and STL. Torus for win32 is written in C++ with VXCL.
<<less Download (0.095MB)
Added: 2005-09-07 License: GPL (GNU General Public License) Price:
1510 downloads
Circus Linux! 1.0.3
Circus Linux! is a clone of the Atari 2600 game Circus Atari. more>>
"Circus Linux!" is a clone of the Atari 2600 game "Circus Atari," produced by Atari, Inc. (which is itself a clone of an earlier arcade game named, simply "Circus").
The object is to move a teeter-totter back and forth across the screen to bounce clowns up into the air. When they reach the top, they pop rows of balloons and then fall back down.
(The gameplay is similar to the classics "Breakout" and "Arkanoid.")
Main features:
Game Modes:
- One- and two-players
- Two-player cooperative
- Barriers mode
- Bouncy balloons mode
- Clear-all mode
Graphics:
- Colorful, cartoon-like images
- Animated objects and background
- Nearly 70 objects on screen at once
- Fullscreen mode
- Random circus acts in the background
Sound:
- Upbeat circus-style music
- Many cartoonish sound effects
- Sound and music volume controls
Controls:
- Mouse
- Keyboard
- Joystick
- Real Atari 2600 Paddle controllers!
<<lessThe object is to move a teeter-totter back and forth across the screen to bounce clowns up into the air. When they reach the top, they pop rows of balloons and then fall back down.
(The gameplay is similar to the classics "Breakout" and "Arkanoid.")
Main features:
Game Modes:
- One- and two-players
- Two-player cooperative
- Barriers mode
- Bouncy balloons mode
- Clear-all mode
Graphics:
- Colorful, cartoon-like images
- Animated objects and background
- Nearly 70 objects on screen at once
- Fullscreen mode
- Random circus acts in the background
Sound:
- Upbeat circus-style music
- Many cartoonish sound effects
- Sound and music volume controls
Controls:
- Mouse
- Keyboard
- Joystick
- Real Atari 2600 Paddle controllers!
Download (1.2MB)
Added: 2005-09-06 License: GPL (GNU General Public License) Price:
1509 downloads
Shaaft 0.5.0
Shaaft is an OpenGL 3D falling block game similar to Blockout. more>>
Shaaft is an OpenGL 3D falling block game similar to Blockout. It currently runs on Linux and Windows.
There is still a lot missing. No menu system, forgets highscore, some of the sound effects need work (Clearing a single plane sounds like a f*rt. Try clearing >1 plane, though...), etc. That said, I find it is very playable. Enjoy!
You control the rotation via q,a,w,s,e,d. Space will drop the block.
<<lessThere is still a lot missing. No menu system, forgets highscore, some of the sound effects need work (Clearing a single plane sounds like a f*rt. Try clearing >1 plane, though...), etc. That said, I find it is very playable. Enjoy!
You control the rotation via q,a,w,s,e,d. Space will drop the block.
Download (0.50MB)
Added: 2005-09-18 License: GPL (GNU General Public License) Price:
1497 downloads
Block Rage 0.2.3
Block Rage will be a falling blocks game with detailed graphics and animated plasmatic backgrounds. more>>
Block Rage will be a falling blocks game with detailed graphics and animated plasmatic backgrounds.
You will be able to challenge your friend in a 2-player hotseat mode! It is strongly inspired by a superb DOS classic.
At present, the game is fully playable, but theres no real graphics nor sounds and absolutely no music.
Enhancements:
- New tile graphics
- Enhanced 2-player screen
- Improved sound module
- Fixed caps lock handling
- Sets window caption
- Other fixes
<<lessYou will be able to challenge your friend in a 2-player hotseat mode! It is strongly inspired by a superb DOS classic.
At present, the game is fully playable, but theres no real graphics nor sounds and absolutely no music.
Enhancements:
- New tile graphics
- Enhanced 2-player screen
- Improved sound module
- Fixed caps lock handling
- Sets window caption
- Other fixes
Download (0.063MB)
Added: 2005-10-25 License: GPL (GNU General Public License) Price:
1462 downloads
PyGtk-fsacls 2.0.0
PyGtk-fsacls provides a graphical interface for managing the file system Access Control Lists. more>>
pygtk-fsacls provides a graphical interface for managing the file system Access Control Lists (or ACLs) that provide fine-grained control over access to file system objects.
<<less Download (MB)
Added: 2005-11-04 License: GPL (GNU General Public License) Price:
1449 downloads
Falling Up 004
Falling Up its another tetris clone. more>>
Falling Up its another tetris clone. No, Im not trying to make any money off of it or claim it as particularly unique. It is fun. Try it. Its evil. Im told that frequently.
People have even praised it. I wrote it as a precursor to other games, a way to learn new technologies (GLUT, OpenGL, OpenAL, NSIS, ...), and to brush up on old ones (c, for that matter).
The source code is essentially free to do with as you please, if you like. If you "steal" most of it, Id prefer you give credit back to here, but really... whatever. I learned from lots of places and anything I can do to pay that back is cool.
The game is... tetris. You have the same old blocks, and they fall down. You use left and right to move blocks left and right, up to rotate, down to move down a line, and spacebar to drop.
Theres a next item (optional), sound (optional), and... stuff like that. Please, just download it and play it already! Geeze! Youd think I was just rambling...
Enhancements:
- The score file was adding 1 to the "level" the score was attained at every time a new high score was made, give or take; that is fixed.
- I added a background image (doesnt work with trails, may slow down on slower systems), and made F4 quit out of playing the game.
<<lessPeople have even praised it. I wrote it as a precursor to other games, a way to learn new technologies (GLUT, OpenGL, OpenAL, NSIS, ...), and to brush up on old ones (c, for that matter).
The source code is essentially free to do with as you please, if you like. If you "steal" most of it, Id prefer you give credit back to here, but really... whatever. I learned from lots of places and anything I can do to pay that back is cool.
The game is... tetris. You have the same old blocks, and they fall down. You use left and right to move blocks left and right, up to rotate, down to move down a line, and spacebar to drop.
Theres a next item (optional), sound (optional), and... stuff like that. Please, just download it and play it already! Geeze! Youd think I was just rambling...
Enhancements:
- The score file was adding 1 to the "level" the score was attained at every time a new high score was made, give or take; that is fixed.
- I added a background image (doesnt work with trails, may slow down on slower systems), and made F4 quit out of playing the game.
Download (0.45MB)
Added: 2005-12-06 License: GPL (GNU General Public License) Price:
1422 downloads
Magnificent Gunbright Final
Magnificent Gunbright is an abstract shooter; destroy the black ball. more>>
Magnificent Gunbright is an abstract shooter; destroy the black ball. An Abstract Shooter Developed For Ludum Dare in 48 Hours.
You are the flashy white blob at the bottom, with the clump of other white blobs following you around.
You have the ability to fire the blobs from your cloud at the flashy blob surrounded by a cloud of black blobs at the top of the screen.
If a black blob and white blob collide, both are destroyed. The object is to hit the evil flashy blob at the top of the screen to destroy it.
Falling from the top of the screen like rain is a steady supply of more blobs. If one of the blobs in your cloud touches a white blob that fell from the sky, even while shooting, the blob joins your cluster.
Falling from the bottom of the screen is black blobs, that your enemy can use to bulk himself up, as well. Blob rain does no damage to either party; you can tell that its rain and not bullets because rain travels away from you.
Use the arrow keys to move, and the space bar to shoot.
Once youve destroyed one evil black blob, you will face another, more powerful one! And so on forever until you eventually die.
Destroy the evil black blobs and save the League of Confederated Planets!
<<lessYou are the flashy white blob at the bottom, with the clump of other white blobs following you around.
You have the ability to fire the blobs from your cloud at the flashy blob surrounded by a cloud of black blobs at the top of the screen.
If a black blob and white blob collide, both are destroyed. The object is to hit the evil flashy blob at the top of the screen to destroy it.
Falling from the top of the screen like rain is a steady supply of more blobs. If one of the blobs in your cloud touches a white blob that fell from the sky, even while shooting, the blob joins your cluster.
Falling from the bottom of the screen is black blobs, that your enemy can use to bulk himself up, as well. Blob rain does no damage to either party; you can tell that its rain and not bullets because rain travels away from you.
Use the arrow keys to move, and the space bar to shoot.
Once youve destroyed one evil black blob, you will face another, more powerful one! And so on forever until you eventually die.
Destroy the evil black blobs and save the League of Confederated Planets!
Download (6.1MB)
Added: 2006-01-12 License: GPL (GNU General Public License) Price:
1380 downloads
Math Objects 0.1.3
Math Objects is a math template library for C++ using generic programming techniques. more>>
Math Objects is a math template library written in C++ using generic programming techniques. In order to use the "Math Objects" library, the user only has to include the header files he needs (e.g. Matrix.h, Polynomial.h etc.).
In order to compile the library the user needs an ISO/IEC 14882:1998 standard compliant C++ compiler (e.g. one that supports partial template specializations).
The math library has math objects like matrices, polynomials, rational functions, extended precision numbers, complex numbers etc. that can be handled in a similar way like basic numerical types (e.g. integers or floating point numbers).
One can access properties of a mathematical type through a (partial) specialization of a traits class for that type (AlgebraicTraits). Having the traits classes to expose properties of mathematical objects, one can define for example matrices of polynomials having extended precision complex coefficients and apply to them basic linear algebra algorithms using normal C++ syntax.
This library also implements two functions using two deterministic algorithms that compute the Smith form for polynomial matrices, and the Smith-McMillan form of a transfer functions matrix also keeping track of the transformation matrices.
These algorithms can be used to describe a MIMO (multi input-multi output) system by means of its zeros and poles and also give the MFD (matrix fraction description) of the system.
Enhancements:
- Recoded the LongInt class aiming for better runtime efficiency.
<<lessIn order to compile the library the user needs an ISO/IEC 14882:1998 standard compliant C++ compiler (e.g. one that supports partial template specializations).
The math library has math objects like matrices, polynomials, rational functions, extended precision numbers, complex numbers etc. that can be handled in a similar way like basic numerical types (e.g. integers or floating point numbers).
One can access properties of a mathematical type through a (partial) specialization of a traits class for that type (AlgebraicTraits). Having the traits classes to expose properties of mathematical objects, one can define for example matrices of polynomials having extended precision complex coefficients and apply to them basic linear algebra algorithms using normal C++ syntax.
This library also implements two functions using two deterministic algorithms that compute the Smith form for polynomial matrices, and the Smith-McMillan form of a transfer functions matrix also keeping track of the transformation matrices.
These algorithms can be used to describe a MIMO (multi input-multi output) system by means of its zeros and poles and also give the MFD (matrix fraction description) of the system.
Enhancements:
- Recoded the LongInt class aiming for better runtime efficiency.
Download (0.28MB)
Added: 2006-02-21 License: GPL (GNU General Public License) Price:
1343 downloads
Object Extensions for PHP 0.1 Beta
Object Extensions for PHP provides several classes that add runtime object extension and callbacks to the language. more>>
Object Extensions for PHP provides several classes that add runtime object extension and callbacks to the language. Object Extensions for PHP allows the programmer to add methods and properties to an object at runtime by dynamically extending by another object.
It also allows the creation of object property lists that allow for dynamic setting/getting of values in a fashion similar to JavaScript objects. These object property lists support basic value checking.
The Object Extensions library for PHP adds the following functionality to objects that extend the base class:
- Runtime object extension to "extend" an object by another class at runtime (to virtually inherit all public properties and methods).
- Runtime callback definitions to be able to pass function/method callbacks as variables, and subsequently execute them from other function/methods.
- Dynamic object properties class to handle runtime setting/getting of object properties, as well as ability to pass function arguments as object-based parameters rather than long list of options.
OBJECT EXTENSION:
- Base class (CExtendable) implements a _extend() function by which you may vritually extend an object by an instance of another object.
- Extended object (object passed to _extend) can reference parent object if supported by extended class.
- __get, __set and __call are all overriden to handle overriding undefined properties and methods
- Ability to reference a callback in a straightforward manner ($object->_callback()->method(args, [...]))
CALLBACK FUNCTIONALITY:
- Can create callbacks directly (through CCallback and derived classes)
- Can create method callbacks by calling _callback() method on CExtendable objects
- When combined with object extension and object properties, can provide a really easy way to execute callbacks.
OBJECT PROPERTIES:
- Base class extends ArrayIterator, all properties saved in an array
- Basic functionality to check values provided and/or set default values.
- Overrides __get, __set to get/set object properties.
- Can limit property set-tability to existing properties only, or to provided array of properties.
- Can enable read-only mode.
- Overrides __call, and in the case that the a property value with the same name as the method name exists, and is an instance of the ICallback interface, this callback is executed.
PHP COMPATIBILITY:
Object Extensions for PHP uses PHP5 functionality. It would be theoretically possible to implement similar functionality into PHP4, however, since I no longer develop in PHP4, I cannot properly test it.
<<lessIt also allows the creation of object property lists that allow for dynamic setting/getting of values in a fashion similar to JavaScript objects. These object property lists support basic value checking.
The Object Extensions library for PHP adds the following functionality to objects that extend the base class:
- Runtime object extension to "extend" an object by another class at runtime (to virtually inherit all public properties and methods).
- Runtime callback definitions to be able to pass function/method callbacks as variables, and subsequently execute them from other function/methods.
- Dynamic object properties class to handle runtime setting/getting of object properties, as well as ability to pass function arguments as object-based parameters rather than long list of options.
OBJECT EXTENSION:
- Base class (CExtendable) implements a _extend() function by which you may vritually extend an object by an instance of another object.
- Extended object (object passed to _extend) can reference parent object if supported by extended class.
- __get, __set and __call are all overriden to handle overriding undefined properties and methods
- Ability to reference a callback in a straightforward manner ($object->_callback()->method(args, [...]))
CALLBACK FUNCTIONALITY:
- Can create callbacks directly (through CCallback and derived classes)
- Can create method callbacks by calling _callback() method on CExtendable objects
- When combined with object extension and object properties, can provide a really easy way to execute callbacks.
OBJECT PROPERTIES:
- Base class extends ArrayIterator, all properties saved in an array
- Basic functionality to check values provided and/or set default values.
- Overrides __get, __set to get/set object properties.
- Can limit property set-tability to existing properties only, or to provided array of properties.
- Can enable read-only mode.
- Overrides __call, and in the case that the a property value with the same name as the method name exists, and is an instance of the ICallback interface, this callback is executed.
PHP COMPATIBILITY:
Object Extensions for PHP uses PHP5 functionality. It would be theoretically possible to implement similar functionality into PHP4, however, since I no longer develop in PHP4, I cannot properly test it.
Download (0.007MB)
Added: 2006-05-03 License: MIT/X Consortium License Price:
1271 downloads
HTML Objects 1.2.4
HTML Objects is a Perl module library for turning HTML tags into Perl objects. more>>
HTML Objects is a Perl module library for turning HTML tags into Perl objects. HTML Objects allows Web pages to be manipulated as a data structure rather than text.
Once manipulation is done, the entire page is generated via depth-first recursion.
<<lessOnce manipulation is done, the entire page is generated via depth-first recursion.
Download (0.025MB)
Added: 2006-05-09 License: GPL (GNU General Public License) Price:
1263 downloads
C++ Machine Objects 0.9.4
C++ Machine Objects class library supports a subset of the UML statechart notation. more>>
C++ Machine Objects class library supports a subset of the UML statechart notation for implementing hierarchical state machines in straight C++, similar in spirit to the GoF "State" design pattern.
The currently supported features are hierarchical states, entry and exit actions, state histories, and state variables.
Installation:
The class library as such does not need to be installed. Just include the header file Macho.hpp to make use of it. Prerequisite however is a C++ compiler with sane support for templates.
Included are the example state machines HelloWorld, Example, Microwave and Test. To make the examples run just compile them in the directory they are in, for example:
# GCC
g++ -o microwave Microwave.cpp
# MSVC7
cl /EHsc Microwave.cpp
I like the GoF "State" design pattern. It enables implementing the important concept of state machines with common programming language features. By utilising only basic language mechanisms it is easy to apply in real-life software development.
Another important property that stems from this simplicity is orthogonality, meaning that the pattern can be combined with other design elements, patterns and idioms in arbitrary ways.
In contrast stand the tool supported approaches to state machine creation (of which there is no shortage). Based on code generators and graphical editors, they tend to generate incomprehensible code and forfeit orthogonality by necessarily being outside the domain of the programming language.
Unfortunately the "State" pattern is limited in scope because it does not allow for hierarchical state machines. This is regrettable because flat state machines tend to become unwieldy when getting bigger, for the sheer number of states they produce.
Hierarchical state machines as defined by the statechart notation alleviate this problem by giving an additional structural element through grouping states into hierarchies.
The "State" pattern in its original form is not capable of modeling state hierarchies. The Macho class library extends the concept with this possibility, while keeping the properties of simplicity (there possible) and tool independence from its inspiration.
Enhancements:
- This release adds the feature of backtracking to previous states by using "Snapshots".
<<lessThe currently supported features are hierarchical states, entry and exit actions, state histories, and state variables.
Installation:
The class library as such does not need to be installed. Just include the header file Macho.hpp to make use of it. Prerequisite however is a C++ compiler with sane support for templates.
Included are the example state machines HelloWorld, Example, Microwave and Test. To make the examples run just compile them in the directory they are in, for example:
# GCC
g++ -o microwave Microwave.cpp
# MSVC7
cl /EHsc Microwave.cpp
I like the GoF "State" design pattern. It enables implementing the important concept of state machines with common programming language features. By utilising only basic language mechanisms it is easy to apply in real-life software development.
Another important property that stems from this simplicity is orthogonality, meaning that the pattern can be combined with other design elements, patterns and idioms in arbitrary ways.
In contrast stand the tool supported approaches to state machine creation (of which there is no shortage). Based on code generators and graphical editors, they tend to generate incomprehensible code and forfeit orthogonality by necessarily being outside the domain of the programming language.
Unfortunately the "State" pattern is limited in scope because it does not allow for hierarchical state machines. This is regrettable because flat state machines tend to become unwieldy when getting bigger, for the sheer number of states they produce.
Hierarchical state machines as defined by the statechart notation alleviate this problem by giving an additional structural element through grouping states into hierarchies.
The "State" pattern in its original form is not capable of modeling state hierarchies. The Macho class library extends the concept with this possibility, while keeping the properties of simplicity (there possible) and tool independence from its inspiration.
Enhancements:
- This release adds the feature of backtracking to previous states by using "Snapshots".
Download (0.035MB)
Added: 2006-06-02 License: MIT/X Consortium License Price:
1240 downloads
Niliada
Niliada is a library of Lisp-like objects in Ada-95. more>>
Niliada is a library of Lisp-like objects in Ada-95.
It features a real time garbage collector. Niliada library is useful for massively multithreaded applications in a mission critical environment.
<<lessIt features a real time garbage collector. Niliada library is useful for massively multithreaded applications in a mission critical environment.
Download (0.064MB)
Added: 2006-06-05 License: GPL (GNU General Public License) Price:
1237 downloads
Basset::Object::Persistent 1.03
Basset::Object::Persistent is a subclass of Basset::Object that allows objects to be easily stored into a relational database. more>>
Basset::Object::Persistent is a subclass of Basset::Object that allows objects to be easily stored into a relational database. Presently only supports MySQL, but that may change in the future.
SYNOPSIS
(no synopsis, this is an abstract super class that should never be instantiated directly, it should be subclassed for all persistent objects and used through them)
Basset::Object is the uber module in my Perl world. All objects should decend from Basset::Object. It handles defining attributes, error handling, construction, destruction, and generic initialization. It also talks to Basset::Object::Conf to allow conf file use.
But, some objects cannot simply be recreated constantly every time a script runs. Sometimes you need to store the data in an object between uses so that you can recreate an object in the same form the last time you left it. Storing user information, for instance.
Basset::Object::Persistent allows you to do that transparently and easily. Persistent objects need to define several pieces of additional information to allow them to commit to the database, including their table definitions. Once these items are defined, youll have access to the load and commit methods to allow you to load and store the objects in a database.
It is assumed that an object is stored in the database in a primary table. The primary table contains a set of columns named the same as object attributes. The attributes are stored in those columns.
Some::Package->add_attr(foo);
my $obj = Some::Package->new();
$obj->foo(bar);
$obj->commit();
in the database, the foo column will be set to bar.
<<lessSYNOPSIS
(no synopsis, this is an abstract super class that should never be instantiated directly, it should be subclassed for all persistent objects and used through them)
Basset::Object is the uber module in my Perl world. All objects should decend from Basset::Object. It handles defining attributes, error handling, construction, destruction, and generic initialization. It also talks to Basset::Object::Conf to allow conf file use.
But, some objects cannot simply be recreated constantly every time a script runs. Sometimes you need to store the data in an object between uses so that you can recreate an object in the same form the last time you left it. Storing user information, for instance.
Basset::Object::Persistent allows you to do that transparently and easily. Persistent objects need to define several pieces of additional information to allow them to commit to the database, including their table definitions. Once these items are defined, youll have access to the load and commit methods to allow you to load and store the objects in a database.
It is assumed that an object is stored in the database in a primary table. The primary table contains a set of columns named the same as object attributes. The attributes are stored in those columns.
Some::Package->add_attr(foo);
my $obj = Some::Package->new();
$obj->foo(bar);
$obj->commit();
in the database, the foo column will be set to bar.
Download (0.14MB)
Added: 2006-06-16 License: Perl Artistic License Price:
1225 downloads
Bio::Root::Object 1.4
Bio::Root::Object is a core Perl 5 object. more>>
Bio::Root::Object is a core Perl 5 object.
SYNOPSIS
# Use this module as the root of your inheritance tree.
Object Creation
require Bio::Root::Object;
$dad = new Bio::Root::Object();
$son = new Bio::Root::Object(-name => Junior,
-parent => $dad,
-make => full);
See the new() method for a complete description of parameters. See also the USAGE section .
Bio::Root::Object attempts to encapsulate the "core" Perl5 object: What are the key data and behaviors ALL (or at least most) Perl5 objects should have?
Rationale
Use of Bio::Root::Object.pm within the Bioperl framework facilitates operational consistency across the different modules defined within the Bio:: namespace. Not all objects need to derive from Bio::Root::Object.pm. However, when generating lots of different types of potentially complex objects which should all conform to a set of basic expectations, this module may be handy.
At the very least, this module saves you from re-writing the new() method for each module you develop. It also permits consistent and robust handling of -tag => value method arguments via the Bio::Root::RootI::_rearrange() method and provides a object-oriented way handle exceptions and warnings via the Bio::Root::Root::throw() and Bio::Root::Root::warn() methods.
See the APPENDIX section for some other handy methods.
Fault-Tolerant Objects
A major motivation for this module was to promote the creation of robust, fault-tolerant Perl5 objects. The Bio::Root::Root::throw() method relies on Perls built-in eval{}/die exception mechanism to generate fatal exceptions. The data comprising an exception is managed by the Bio::Root::Err.pm module, which essentially allows the data thrown by a die() event to be wrapped into an object that can be easily examined and possibly re-thrown.
The intent here is three-fold:
1 Detailed error reporting.
Allow objects to report detailed information about the error condition (who, what, where, why, how).
2 Handle complex errors in objects.
The goal is to make it relatively painless to detect and handle the wide variety of errors possible with a complex Perl object. Perls error handling mechanism is a might clunky when it comes to handling complex errors within complex objects, but it is improving.
3 Efficient & easy exception handling.
To enable robust exception handling without incurring a significant performance penalty in the resulting code. Ideally, exception handling code should be transparent to the cpu until and unless an exception arises.
These goals may at times be at odds and we are not claiming to have achieved the perfect balance. Ultimately, we want self- sufficient object-oriented systems able to deal with their own errors. This area should improve as the module, and Perl, evolve. One possible modification might be to utilize Graham Barrs Error.pm module or Torsten Ekedahls Experimental::Exception.pm module (see "Other Exception Modules").
Technologies such as these may eventually be incorporated into future releases of Perl. The exception handling used by Bio::Root::Object.pm can be expected to change as Perls exception handling mechanism evolves.
TERMINOLOGY NOTE: In this discussion and elsewhere in this module, the terms "Exception" and "Error" are used interchangeably to mean "something unexpected occurred" either as a result of incorrect user input or faulty internal processing.
<<lessSYNOPSIS
# Use this module as the root of your inheritance tree.
Object Creation
require Bio::Root::Object;
$dad = new Bio::Root::Object();
$son = new Bio::Root::Object(-name => Junior,
-parent => $dad,
-make => full);
See the new() method for a complete description of parameters. See also the USAGE section .
Bio::Root::Object attempts to encapsulate the "core" Perl5 object: What are the key data and behaviors ALL (or at least most) Perl5 objects should have?
Rationale
Use of Bio::Root::Object.pm within the Bioperl framework facilitates operational consistency across the different modules defined within the Bio:: namespace. Not all objects need to derive from Bio::Root::Object.pm. However, when generating lots of different types of potentially complex objects which should all conform to a set of basic expectations, this module may be handy.
At the very least, this module saves you from re-writing the new() method for each module you develop. It also permits consistent and robust handling of -tag => value method arguments via the Bio::Root::RootI::_rearrange() method and provides a object-oriented way handle exceptions and warnings via the Bio::Root::Root::throw() and Bio::Root::Root::warn() methods.
See the APPENDIX section for some other handy methods.
Fault-Tolerant Objects
A major motivation for this module was to promote the creation of robust, fault-tolerant Perl5 objects. The Bio::Root::Root::throw() method relies on Perls built-in eval{}/die exception mechanism to generate fatal exceptions. The data comprising an exception is managed by the Bio::Root::Err.pm module, which essentially allows the data thrown by a die() event to be wrapped into an object that can be easily examined and possibly re-thrown.
The intent here is three-fold:
1 Detailed error reporting.
Allow objects to report detailed information about the error condition (who, what, where, why, how).
2 Handle complex errors in objects.
The goal is to make it relatively painless to detect and handle the wide variety of errors possible with a complex Perl object. Perls error handling mechanism is a might clunky when it comes to handling complex errors within complex objects, but it is improving.
3 Efficient & easy exception handling.
To enable robust exception handling without incurring a significant performance penalty in the resulting code. Ideally, exception handling code should be transparent to the cpu until and unless an exception arises.
These goals may at times be at odds and we are not claiming to have achieved the perfect balance. Ultimately, we want self- sufficient object-oriented systems able to deal with their own errors. This area should improve as the module, and Perl, evolve. One possible modification might be to utilize Graham Barrs Error.pm module or Torsten Ekedahls Experimental::Exception.pm module (see "Other Exception Modules").
Technologies such as these may eventually be incorporated into future releases of Perl. The exception handling used by Bio::Root::Object.pm can be expected to change as Perls exception handling mechanism evolves.
TERMINOLOGY NOTE: In this discussion and elsewhere in this module, the terms "Exception" and "Error" are used interchangeably to mean "something unexpected occurred" either as a result of incorrect user input or faulty internal processing.
Download (4.7MB)
Added: 2006-06-16 License: Perl Artistic License Price:
1225 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above myspace falling objects search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed