System and method for concurrently modeling any element of a model
AssigneeCyra Technologies, Inc.
InventorsRichard William Bukowski, Mark Damon Wheeler
Life of this patent
Estimating the term…
Abstract
A system and method are described for concurrently modeling of any element of a geometric model. The geometric model is stored in a database as a number of model objects. The model objects are loaded into a computer, and are then used to generate a display. When a model is edited, a representation of the model object is changed. The change is sent to the database to update the corresponding model object stored in the database. Any computers displaying this model will be notified of the change and will reload and redisplay the updated model object.
Claims27
A system for concurrently modeling any element of a model, the system comprising:
- a first computer having a database, the database having a plurality of objects that define the model, the plurality of objects including model objects and index objects;
- second computer connected to the first computer, the second computer having:
- means for loading a number of objects from the database into the second computer to form a corresponding number of local objects, the local objects including local index objects and local model objects;
- means for constructing a plurality of visual representations from the local model objects, each visual representation being constructed from a corresponding local model object;
- means for displaying a selected view of the model on a display, the selected view including a number of visual representations;
- means for editing a visual representation of a local object to define a change to the local object, the means including means for editing a visual representation of a local model object to define a change to the local model object;
- means for instructing the first computer to update the object stored in the database that corresponds with the local object that was edited to form an updated object in the database that reflects the change made to the local object, the means including means for instructing the first computer to update the model object stored in the database that corresponds with the local model object that was edited to form an updated model object in the database that reflects the change made to the local model object;
- means for loading into the second computer the updated object to form an updated local object in response to an update notification, the means including means for loading into the second computer the updated model object to form an updated local model object in response to the update notification;
- means for constructing a visual representation from the updated local model object to form a reconstructed visual representation;
- and
- means for redisplaying the selected view of the model on the display as a redisplayed view, the redisplayed view including the reconstructed visual representation.
A system for loading a number of objects of a model, the system includes:
- means for initializing a needed set of objects with a pointer that identifies a first index object of an index structure of a root index object of the model;
- means for loading the first index object identified by the pointer in the needed set of objects, the first index object being loaded into a computer from a database as a first index object;
- means for outputting a load notification which indicates that the first index object has been loaded;
- means for determining if the needed set of objects is empty;
- means for loading a number of additional objects identified by pointers in the needed set of objects when the needed set of objects is not empty, the additional objects being loaded into the second computer from the database as local copies of the additional objects;
- and
- means for outputting a load notification to indicate that additional objects have been loaded.
A method for concurrently modeling any element of a model, the model having a plurality of objects stored in a database of a first computer, the method including the steps of:
- loading a number of objects from the database into a second computer to form a corresponding number of local objects, the local objects including local index objects and local model objects;
- constructing a plurality of visual representations from the local model objects, each visual representation being constructed from a corresponding local model object;
- displaying a selected view of the model on a display, the selected view including a number of visual representations.
- editing a visual representation of a local object to define a change to the local object, the step including the step of editing a visual representation of a local model object to define a change to the local model object;
- instructing the first computer to update the object stored in the database that corresponds with the local object that was edited to form an updated object in the database that reflects the change made to the local object, the step including the step of instructing the first computer to update the model object stored in the database that corresponds with the local model object that was edited to form an updated model object in the database that reflects the change made to the local model object;
- loading into the second computer the updated object to form an updated local object in response to an update notification, the step including the step of loading into the second computer the updated model object to form an updated local model object in response to the update notification;
- constructing a visual representation from the updated local model object to form a reconstructed visual representation;
- and
- redisplaying the selected view of the model on the display as a redisplayed view, the redisplayed view including the reconstructed visual representation.
A method for loading a number of objects of a model, the method including the steps of:
- initializing a needed set of objects with a pointer that identifies a first index object of an index structure of a root index object of the model;
- loading the first index object identified by the pointer in the needed set of objects, the first index object being loaded into a computer from a database as a first index object;
- outputting a load notification which indicates that the first index object has been loaded;
- determining if the needed set of objects is empty;
- loading a number of additional objects identified by pointers in the needed set of objects when the needed set of objects is not empty, the additional objects being loaded into the second computer from the database as local copies of the additional objects;
- and
- outputting a load notification to indicate that additional objects have been loaded.
A method for concurrently modeling objects of a geometric model, comprising:
- storing the geometric model in a database of a first computer as a number of model objects;
- creating a local object on a second computer by loading a copy of a model object of the geometric model to the second computer;
- generating a visual representation of the local object on a display of the second computer;
- editing the local object, wherein the edits to the local object change the visual representation of the local object;
- saving the edits done to the local object, as changes in the model object stored in the database of the first computer;
- and
- notifying a computer displaying a local object which corresponds to the model object that a change has been to the model object, and in response to the notification the computer displaying the local object loads a new local object which incorporates the edits to the model object stored in the database of the first computer.
A system for incrementally loading objects from a geometric model that satisfy specific spatial or semantic criteria, the system comprising:
- a first computer having a database, the database having a plurality of objects that define a geometric model, the plurality of objects including model objects and index objects, the first computer operable to make changes to objects in response to communications from any one of a plurality of client computers, and to send a notification to one or more of the plurality of client computers when a change is made to an object;
- a network connecting the first computer to the plurality of client computers, such that the client computers can access the database;
- and
- at least one of the plurality of client computers operable to load a root index object, and operable to asynchronously perform load iterations, where a load iteration includes using the already loaded index objects, applying a specified spatial or semantic query to determine a set of new objects that need to be loaded, determining if the set of objects to load is non-empty and then loading objects of the set of objects that are not write-locked, at least one of the plurality of computers further operable to receive notification of object change from the first computer, and upon receipt of notification operable to delete the local copy of the modified object and to modify an index structure to show the object is no longer loaded.
Dependencies are inferred from the claim text.