World
-
class HPS::World : public HPS::Object
The World class is a special object that must be constructed prior to making any database calls and must exist for the life of the application.
Public Functions
-
inline virtual HPS::Type ObjectType() const
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
The declared type of the object in question, which may differ from the true, underlying type.
-
World &SetDriverConfigFile(char const *in_filename)
Sets the driver configuration file (i.e., a plain text file which can force device specific behavior) for Visualize. To ensure the settings within the configuration file take effect, this file must be specified prior to creating a driver which will be affected by the settings.
- Parameters
in_filename – UTF8-encoded file name.
- Returns
A reference to this World object.
-
World &SetExchangeLibraryDirectory(char const *in_directory)
Sets the directory which contains the Exchange and Publish libraries. If this is set, the Exchange and Publish Visualize modules will try to load the libraries from this directory. If this is not set, those modules will try to load the libraries from the directories in the application’s PATH. Note that this function will append the given directory to the PATH.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
World &SetFontDirectories(size_t in_count, UTF8 const in_directories[])
Sets the directories which contain fonts for use by Visualize. This must be specified for Visualize to make use of any fonts beyond those Visualize defines itself.
- Parameters
in_count – Size of the following array.
in_directories – Array of UTF8-encoded directory names.
- Returns
A reference to this World object.
-
World &SetFontDirectories(UTF8Array const &in_directories)
Sets the directories which contain fonts for use by Visualize. This must be specified for Visualize to make use of any fonts beyond those Visualize defines itself.
- Parameters
in_directories – Array of UTF8-encoded directory names.
- Returns
A reference to this World object.
-
World &SetFontDirectory(char const *in_directory)
Sets the directory which contains fonts for use by Visualize. This must be specified for Visualize to make use of any fonts beyond those Visualize defines itself.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
World &SetMaterialLibraryDirectory(char const *in_directory)
Sets the directory which contains the material library for Visualize. This must be specified to ensure any files which use the material library display correctly.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
World &SetParasolidBodyshopDirectory(char const *in_directory)
Sets the Parasolid Bodyshop directory. If this directory is specified, Exchange will use the Parasolid Bodyshop to translate files to Parasolid parts.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
World &SetParasolidSchemaDirectory(char const *in_directory)
Sets the schema directory for Parasolid. This directory must be specified to make use of the Parasolid module.
Note
Using this function will set the P_SCHEMA environment variable to the given directory as well.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
World &SetPublishResourceDirectory(char const *in_directory)
Sets the resource directory for Publish. This is not the directory which contains the libraries (see World::SetExchangeLibraryDirectory), but rather the directory which contains fonts and associated mappings and files used during PDF generation. This directory must be specified to make use of the Publish module.
- Parameters
in_directory – UTF8-encoded directory name.
- Returns
A reference to this World object.
-
bool ShowDriverConfigFile(UTF8 &out_filename) const
Shows the driver configuration file for Visualize.
- Parameters
out_filename – UTF8-encoded file names.
- Returns
true if font directories were specified, false otherwise.
-
bool ShowFontDirectories(UTF8Array &out_directories) const
Shows the font directories for Visualize.
- Parameters
out_directories – Array of UTF8-encoded directory names.
- Returns
true if font directories were specified, false otherwise.
-
bool ShowMaterialLibraryDirectory(UTF8 &out_directory) const
Shows the material library directory for Visualize.
- Parameters
out_directory – UTF8-encoded directory name.
- Returns
true if a material library directory was specified, false otherwise.
-
bool ShowParasolidBodyshopDirectory(UTF8 &out_directory) const
Shows the Parasolid Bodyshop directory.
- Parameters
out_directory – UTF8-encoded directory name.
- Returns
true if a Parasolid Bodyshop directory was specified, false otherwise.
-
bool ShowParasolidSchemaDirectory(UTF8 &out_directory) const
Shows the Parasolid schema directory.
- Parameters
out_directory – UTF8-encoded directory name.
- Returns
true if a Parasolid schema directory was specified, false otherwise.
-
bool ShowPublishResourceDirectory(UTF8 &out_directory) const
Shows the Publish resource directory.
- Parameters
out_directory – UTF8-encoded directory name.
- Returns
true if a Publish resource directory was specified, false otherwise.
-
World &UnsetDriverConfigFile()
Removes the driver configuration file for Visualize.
- Returns
A reference to this World object.
-
World &UnsetExchangeLibraryDirectory()
Removes the Exchange and Publish library directory. Note, this will remove the previously specified directory from the PATH.
- Returns
A reference to this World object.
-
World &UnsetFontDirectories()
Removes the font directories for Visualize.
- Returns
A reference to this World object.
-
World &UnsetMaterialLibraryDirectory()
Removes the material library directory for Visualize.
- Returns
A reference to this World object.
-
World &UnsetParasolidBodyshopDirectory()
Removes the Parasolid Bodyshop directory.
- Returns
A reference to this World object.
-
World &UnsetParasolidSchemaDirectory()
Removes the Parasolid schema directory.
- Returns
A reference to this World object.
-
World &UnsetPublishResourceDirectory()
Removes the Publish resource directory.
- Returns
A reference to this World object.
-
World(char const *in_license, char const *in_code_generation_directory = nullptr)
This constructor creates a new World object with the given license. The license string determines what functionality is available in Visualize. There should only be one World object that is constructed during the life of the application. Optionally it is possible to start Code Generation, which logs every call to the HPS API for debugging purposes. While Code Generation is active, HPS performance will be slower than usual.
- Parameters
in_license – UTF8-encoded license string for Visualize.
in_code_generation_directory – UTF8-encoded directory where the output of Code Generation will be stored. The directory must already exist.
-
~World()
The destructor will shutdown the database and invalidate all objects within it.
Public Static Functions
-
static void AddCodeGenerationComment(UTF8 const &in_comment)
Adds a comment to the generated code. Useful to guide a developer towards the source of a problem. Code Generation must be started before this function can be called.
- Parameters
in_comment – A comment to be embedded in the code generation.
-
static void StopCodeGeneration()
Stops Code Generation.
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::World
-
inline virtual HPS::Type ObjectType() const