# Copyright (c) 2024 Bentley Systems, Incorporated. All rights reserved.
# Copyright (c) 2024 Bentley Systems, Incorporated. All rights reserved.
### extends 'class_empty.py'
### block ClassImports
# NOTICE: Do not edit anything here, it is generated code
from . import gxapi_cy
from geosoft.gxapi import GXContext, float_ref, int_ref, str_ref
### endblock ClassImports
### block Header
# NOTICE: The code generator will not replace the code in this block
### endblock Header
### block ClassImplementation
# NOTICE: Do not edit anything here, it is generated code
[docs]
class GXVULCAN(gxapi_cy.WrapVULCAN):
"""
GXVULCAN class.
The `GXVULCAN <geosoft.gxapi.GXVULCAN>` class is used for importing MaptekĀ® Vulcan block and triangulation files.
"""
[docs]
def __init__(self, handle=0):
super(GXVULCAN, self).__init__(GXContext._get_tls_geo(), handle)
[docs]
@classmethod
def null(cls):
"""
A null (undefined) instance of `GXVULCAN <geosoft.gxapi.GXVULCAN>`
:returns: A null `GXVULCAN <geosoft.gxapi.GXVULCAN>`
:rtype: GXVULCAN
"""
return GXVULCAN()
[docs]
def is_null(self):
"""
Check if this is a null (undefined) instance
:returns: True if this is a null (undefined) instance, False otherwise.
:rtype: bool
"""
return self._internal_handle() == 0
# Miscellaneous
[docs]
@classmethod
def is_valid_triangulation_file(cls, triangulation_file):
"""
Check if the given file can be opened as a Vulcan triangulation file.
:param triangulation_file: Triangulation file
:type triangulation_file: str
:returns: 0 - No
1 - Yes
:rtype: int
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
ret_val = gxapi_cy.WrapVULCAN._is_valid_triangulation_file(GXContext._get_tls_geo(), triangulation_file.encode())
return ret_val
[docs]
@classmethod
def is_valid_block_model_file(cls, block_model_file):
"""
Check if the given file can be opened as a Vulcan block model file.
:param block_model_file: Block model file
:type block_model_file: str
:returns: 0 - No
1 - Yes
:rtype: int
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
ret_val = gxapi_cy.WrapVULCAN._is_valid_block_model_file(GXContext._get_tls_geo(), block_model_file.encode())
return ret_val
[docs]
@classmethod
def triangulation_to_view(cls, triangulation_file, ipj, mview, new_group_name):
"""
Draw triangle edges in a Vulcan triangulation file to a 3D view in a map.
:param triangulation_file: Triangulation file
:param ipj: Triangulation projection
:param mview: Destination `GXMVIEW <geosoft.gxapi.GXMVIEW>`
:param new_group_name: New group name
:type triangulation_file: str
:type ipj: GXIPJ
:type mview: GXMVIEW
:type new_group_name: str
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
gxapi_cy.WrapVULCAN._triangulation_to_view(GXContext._get_tls_geo(), triangulation_file.encode(), ipj, mview, new_group_name.encode())
[docs]
@classmethod
def get_block_model_variable_info(cls, block_model_file, query, lst):
"""
Query a block model for the variable names and descriptions.
:param block_model_file: Block model file
:param query: :ref:`BLOCK_MODEL_VARIABLE_TYPE` Which variables to return.
:param lst: List used to return variable names/descriptions.
:type block_model_file: str
:type query: int
:type lst: GXLST
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
gxapi_cy.WrapVULCAN._get_block_model_variable_info(GXContext._get_tls_geo(), block_model_file.encode(), query, lst)
[docs]
@classmethod
def get_block_model_string_variable_values(cls, block_model_file, variable_name, lst):
"""
Query a block model for the values a string variable can assume.
:param block_model_file: Block model file
:param variable_name: Variable name
:param lst: List used to return variable names
:type block_model_file: str
:type variable_name: str
:type lst: GXLST
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
gxapi_cy.WrapVULCAN._get_block_model_string_variable_values(GXContext._get_tls_geo(), block_model_file.encode(), variable_name.encode(), lst)
[docs]
@classmethod
def block_model_to_voxel(cls, block_model_file, ipj, variable_to_export, output_voxel_filename, remove_default_values, rock_code_filename):
"""
Create a Geosoft voxel file from a Vulcan block model file.
:param block_model_file: Block model file
:param ipj: Block model projection
:param variable_to_export: Variable to import
:param output_voxel_filename: Ouput voxel filename
:param remove_default_values: Remove default values from input?
:param rock_code_filename: Rock code file for string variable imports. Optional, unused for numeric variable imports.
:type block_model_file: str
:type ipj: GXIPJ
:type variable_to_export: str
:type output_voxel_filename: str
:type remove_default_values: bool
:type rock_code_filename: str
.. versionadded:: 8.4
**License:** `Geosoft End-User License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-end-user-lic>`_
"""
gxapi_cy.WrapVULCAN._block_model_to_voxel(GXContext._get_tls_geo(), block_model_file.encode(), ipj, variable_to_export.encode(), output_voxel_filename.encode(), remove_default_values, rock_code_filename.encode())
### endblock ClassImplementation
### block ClassExtend
# NOTICE: The code generator will not replace the code in this block
### endblock ClassExtend
### block Footer
# NOTICE: The code generator will not replace the code in this block
### endblock Footer