Source code for geosoft.gxapi.GXUSERMETA
# Copyright (c) 2024 Bentley Systems, Incorporated. All rights reserved.
# 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 GXUSERMETA(gxapi_cy.WrapUSERMETA):
"""
GXUSERMETA class.
The `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` class handles user style metadata tied to real
data.
"""
[docs]
def __init__(self, handle=0):
super(GXUSERMETA, self).__init__(GXContext._get_tls_geo(), handle)
[docs]
@classmethod
def null(cls):
"""
A null (undefined) instance of `GXUSERMETA <geosoft.gxapi.GXUSERMETA>`
:returns: A null `GXUSERMETA <geosoft.gxapi.GXUSERMETA>`
:rtype: GXUSERMETA
"""
return GXUSERMETA()
[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 create(cls, format):
"""
Creates an empty `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` object
:param format: :ref:`USERMETA_FORMAT` Type of Meta to create
:type format: int
:returns: `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` Object
:rtype: GXUSERMETA
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
ret_val = gxapi_cy.WrapUSERMETA._create(GXContext._get_tls_geo(), format)
return GXUSERMETA(ret_val)
[docs]
@classmethod
def create_s(cls, file):
"""
Create a `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` from a file
:param file: File Name
:type file: str
:returns: `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` Object
:rtype: GXUSERMETA
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
ret_val = gxapi_cy.WrapUSERMETA._create_s(GXContext._get_tls_geo(), file.encode())
return GXUSERMETA(ret_val)
[docs]
def get_data_creation_date(self, date):
"""
Get the Data Creation Date
:param date: Date
:type date: float_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
date.value = self._get_data_creation_date(date.value)
[docs]
def get_extents2d(self, min_x, min_y, max_x, max_y):
"""
Get the 2d Extents
:param min_x: MinX
:param min_y: MinY
:param max_x: MaxX
:param max_y: MaxY
:type min_x: float_ref
:type min_y: float_ref
:type max_x: float_ref
:type max_y: float_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
min_x.value, min_y.value, max_x.value, max_y.value = self._get_extents2d(min_x.value, min_y.value, max_x.value, max_y.value)
[docs]
def get_extents3d(self, min_x, min_y, min_z, max_x, max_y, max_z):
"""
Get the 3d Extents
:param min_x: MinX
:param min_y: MinY
:param min_z: MinZ
:param max_x: MaxX
:param max_y: MaxY
:param max_z: MaxZ
:type min_x: float_ref
:type min_y: float_ref
:type min_z: float_ref
:type max_x: float_ref
:type max_y: float_ref
:type max_z: float_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
min_x.value, min_y.value, min_z.value, max_x.value, max_y.value, max_z.value = self._get_extents3d(min_x.value, min_y.value, min_z.value, max_x.value, max_y.value, max_z.value)
[docs]
def get_ipj(self, ipj):
"""
Get the `GXIPJ <geosoft.gxapi.GXIPJ>`
:param ipj: Date
:type ipj: GXIPJ
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._get_ipj(ipj)
[docs]
def get_meta_creation_date(self, date):
"""
Get the Meta Creation Date
:param date: Date
:type date: float_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
date.value = self._get_meta_creation_date(date.value)
[docs]
def get_xml_format(self, format):
"""
Get the XML Format
:param format: :ref:`USERMETA_FORMAT`
:type format: int_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
format.value = self._get_xml_format(format.value)
[docs]
def set_xml_format(self, format):
"""
Get the XML Format
:param format: :ref:`USERMETA_FORMAT`
:type format: int
.. versionadded:: 9.6
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_xml_format(format)
[docs]
def compare(self, usermeta2):
"""
Compare 2 `GXUSERMETA <geosoft.gxapi.GXUSERMETA>`'s
:param usermeta2: Second UERMETA
:type usermeta2: GXUSERMETA
:returns: 0 - No
1 - Yes
:rtype: int
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
ret_val = self._compare(usermeta2)
return ret_val
[docs]
def get_data_creator(self, data_creator):
"""
Get the Data Creator
:param data_creator: DataCreator returned
:type data_creator: str_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
data_creator.value = self._get_data_creator(data_creator.value.encode())
[docs]
def get_format(self, format):
"""
Get the File Format
:param format: Title returned
:type format: str_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
format.value = self._get_format(format.value.encode())
[docs]
def get_meta_creator(self, meta_creator):
"""
Get the Meta Creator
:param meta_creator: MetaCreator returned
:type meta_creator: str_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
meta_creator.value = self._get_meta_creator(meta_creator.value.encode())
[docs]
def get_project(self, project):
"""
Get the File Project
:param project: Title returned
:type project: str_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
project.value = self._get_project(project.value.encode())
[docs]
def get_title(self, title):
"""
Get the Title
:param title: Title returned
:type title: str_ref
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
title.value = self._get_title(title.value.encode())
[docs]
def serial(self, save_geo, file):
"""
Serialize `GXUSERMETA <geosoft.gxapi.GXUSERMETA>` to a `GXBF <geosoft.gxapi.GXBF>`.
:param save_geo: Output Geosoft Metadata?
:param file: File name to save to
:type save_geo: bool
:type file: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._serial(save_geo, file.encode())
[docs]
def set_data_creation_date(self, date):
"""
Set the Data Creation Date
:param date: Date
:type date: float
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_data_creation_date(date)
[docs]
def set_data_creator(self, data_creator):
"""
Set the Data Creator
:param data_creator: DataCreator
:type data_creator: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_data_creator(data_creator.encode())
[docs]
def set_extents2d(self, min_x, min_y, max_x, max_y):
"""
Set the 2d Extents
:param min_x: MinX
:param min_y: MinY
:param max_x: MaxX
:param max_y: MaxY
:type min_x: float
:type min_y: float
:type max_x: float
:type max_y: float
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_extents2d(min_x, min_y, max_x, max_y)
[docs]
def set_extents3d(self, min_x, min_y, min_z, max_x, max_y, max_z):
"""
Set the 3d Extents
:param min_x: MinX
:param min_y: MinY
:param min_z: MinZ
:param max_x: MaxX
:param max_y: MaxY
:param max_z: MaxZ
:type min_x: float
:type min_y: float
:type min_z: float
:type max_x: float
:type max_y: float
:type max_z: float
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_extents3d(min_x, min_y, min_z, max_x, max_y, max_z)
[docs]
def set_format(self, format):
"""
Set the File Format
:param format: Format
:type format: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_format(format.encode())
[docs]
def set_ipj(self, ipj):
"""
Set the `GXIPJ <geosoft.gxapi.GXIPJ>`
:param ipj: Date
:type ipj: GXIPJ
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_ipj(ipj)
[docs]
def set_meta_creation_date(self, date):
"""
Set the Meta Creation Date
:param date: Date
:type date: float
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_meta_creation_date(date)
[docs]
def set_meta_creator(self, meta_creator):
"""
Set the Meta Creator
:param meta_creator: MetaCreator
:type meta_creator: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_meta_creator(meta_creator.encode())
[docs]
def set_project(self, project):
"""
Set the File Project
:param project: Project
:type project: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_project(project.encode())
[docs]
def set_title(self, title):
"""
Set the Title
:param title: Title
:type title: str
.. versionadded:: 7.0
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
self._set_title(title.encode())
[docs]
@classmethod
def update_extents_2d(cls, filename, ipj, min_x, min_y, max_x, max_y):
"""
Edit an existing XML metadata file by
changing the extents and projection data
:param filename: Filename of existing metadata to update
:param ipj: New projection
:param min_x: New MinX value
:param min_y: New MinY value
:param max_x: New MaxX value
:param max_y: New MaxY value
:type filename: str
:type ipj: GXIPJ
:type min_x: float
:type min_y: float
:type max_x: float
:type max_y: float
.. versionadded:: 7.0.1
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
gxapi_cy.WrapUSERMETA._update_extents_2d(GXContext._get_tls_geo(), filename.encode(), ipj, min_x, min_y, max_x, max_y)
[docs]
@classmethod
def update_file_type(cls, file_name, new_file_type):
"""
Edit an existing XML metadata file by
changing the file type
:param file_name: Filename of existing metadata to update
:param new_file_type: New file type
:type file_name: str
:type new_file_type: str
.. versionadded:: 7.2
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
gxapi_cy.WrapUSERMETA._update_file_type(GXContext._get_tls_geo(), file_name.encode(), new_file_type.encode())
[docs]
@classmethod
def save_file_lineage(cls, file_name, save_geo):
"""
Add lineage to XML
:param file_name: Filename of existing metadata to update
:param save_geo: Output Geosoft Metadata?
:type file_name: str
:type save_geo: bool
.. versionadded:: 8.2
**License:** `Geosoft Open License <https://geosoftgxdev.atlassian.net/wiki/spaces/GD/pages/2359406/License#License-open-lic>`_
"""
gxapi_cy.WrapUSERMETA._save_file_lineage(GXContext._get_tls_geo(), file_name.encode(), save_geo)
### 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