1.3.4 Internal Origin Objects Class

The following classes are used to handle Origin objects. For more details, please refer to the Origin C: Origin C Reference: Classes: Internal Origin Objects chapter in the help document of OriginC.

Class Brief Description
Axis

This class is derived from the OriginObject class, and can be used to access Origin axes. Origin axes are contained by layers on an Origin page.

AxisObject

This class is derived from the OriginObject class, and can be used to access Origin axis objects, including axis ticks, grids and labels. Origin axis objects are contained by axes on an Origin graph page.

Collection

This class provides a template for collections of various internal Origin objects, such as Pages (the collection of all PageBase objects in a project file), etc. This class contains an implicit templatized type _TemplType, which is the type of one element of the collection. For example, the templatized type of the Pages collection in the Project class (Collection<PageBase> Pages;) is PageBase.

Each collection usually has a parent class, whose data member is the collection. For example, Collection<PageBase> Pages is one member of the Project class, because Project contains all the pages. Therefore, each collection can be attached or unattached to an internal object.

All collections can use the methods defined in the Collection class. The foreach loop is the most useful way for looping once for each of the elements in the collection.

CollectionEmbeddedPages

This class is used to access the pages embedded in a worksheet.

Column

This class is derived from the DataObject, DataObjectBase and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for dealing with Origin worksheet columns. A worksheet object contains a collection of Column objects, and each Column object holds a Dataset. A Column object is mainly used for controlling the style of data in the associated Dataset.

A Column object is a wrapper object, which refers to an internal Origin column object, but does not actually exist in Origin.

DataObject

This class is derived from the DataObjectBase class, and is the base class of worksheet columns and matrix objects. Origin data objects are contained in layers on an Origin page. For example, columns (data objects) are contained in a worksheet (layer) on a worksheet window (page).

DataObjectBase

This class is an abstract base class, which provides methods and properties for handling the class types related to DataObject and DataPlot, polymorphically. Thus, objects of this type cannot be constructed, and objects of its derived classes, such as DataObject, Column, MatrixObject and DataPlot, should be used instead.

DataPlot

This class is derived from the DataObjectBase and OriginObject classes, from which it inherits methods and properties. In this class, methods and properties are provided for Origin data plots. An internal Origin data plot object is used to store the characteristics of the Origin data plot, and it is contained in a graph layer on a graph page.

A DataPlot object is a wrapper object, which refers to an internal Origin data plot object and does not actually exist in Origin. Thus, multiple wrapper objects can refer to the same internal Origin object.

DataRange

Methods and properties are provided in this class for constructing data ranges and accessing data in a Worksheet, Matrix or Graph window. This class does not hold data by itself, it just keeps the data range with the page name, sheet name (layer index for a graph) and row/column indices (data plot indices for a graph). Multiple data ranges can be contained in one DataRange object, and the sub data range can be the whole data sheet, one column, one row, multiple continuous columns, or multiple continuous rows.

DataRangeEx

This class is the extensional class of DataRange.

DatasetObject

This class is used to access non-numeric data sets, which are usually members of Column objects.

Datasheet

This class is derived from the Layer and OriginObject classes, and it inherits their methods and properties. This class is used to handle Origin worksheet and matrix layers.

Folder

Project Explorer is a user interface inside Origin with folder/sub-folder structure, just likes Window Explorer. It is used to organize and access graph, layout, matrix, note, and worksheet windows in an Origin project file.

The Folder class has the ability to access the methods and properties of Project Explorer, and contains collections of all Origin pages and Project Explorer folders.

A Folder object is a wrapper object, which refers to an internal Origin Project Explorer object but does not actually exist in Origin. Thus, multiple wrapper objects can refer to the same internal Origin object.

fpoint3d

This class is used to handle data points that are located in three-dimensional space, with double type for their (x, y, z) coordinates.

fpoint

This class is used to handle data points that are located in two-dimensional, or planar, space and use double type for their (x, y) coordinates.

GetGraphPoints

This class is used to get the position (x, y) of a screen point or data point from an Origin graph window.

GraphLayer

This class is derived from the Layer and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for Origin graph layers.

Internal Origin graph pages contain one or more graph layers, and graph layers contain one or more data plots. Thus, the GraphPage class contains a collection of GraphLayer objects, and the GraphLayer class contains a collection of DataPlot objects. A GraphLayer object is a wrapper object, which refers to an internal Origin graph layer object, but does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

GraphObject

This class is derived from the OriginObject class, from which it inherits methods and properties. In this class, methods and properties are provided for handling Origin graph objects, which include text annotations, graphic annotations (e.g. rectangles, arrows, line objects, etc.), data plot style holders, and region of interest objects.

Origin graph objects are generally contained in layers on an Origin page, thus the GraphLayer class contains a collection of GraphObjects. A Graph object is a wrapper object, which refers to an internal Origin graph object and does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

GraphPage

This class is derived from the Page, PageBase, and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for handling internal Origin graph pages (windows). A GraphPage object is a wrapper object, which refers to an internal Origin graph page object but does not exist in Origin. Thus, multiple wrapper objects can refer to the same internal Origin object.

The Project class contains a collection of GraphPage objects, named GraphPages, in the open project file. A GraphPage object can be used to locate and access layers on an Origin graph page, which can then be used to access objects in the layer, such as DataPlots or GraphicObjects.

GraphPageBase

This class is the base class for GraphPage and LayoutPage.

Grid

This class is used to set the format of data sheet windows (Origin worksheets and matrix sheets). Extra functions are also provided in this class for data selection, showing column/row labels, setting cell text color, merging cells, and so on.

GroupPlot

This class is derived from the OriginObject class and can be used to handle Origin group plots. GroupPlot objects are contained in layers on an Origin page.

Layer

This class is derived from the OriginObject class, from which it inherits methods and properties. In this class, methods and properties are provided for handling internal Origin layers. All Origin pages (windows), except note pages, contain one or more layers. Origin objects found "on" a page are generally contained by layers which are themselves contained by the page. Many graph objects are contained in layers, thus the Layer class contains the collection of graph objects.

A Layer object is a wrapper object, which refers to an internal Origin layer object but does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

LayoutPage

This class is derived from the Page, PageBase, and OriginObject classes, from which it inherits methods and properties. In this class, methods and properties are provided for handling internal Origin layout pages (windows). The Project class contains a collection of LayoutPage objects.

A LayoutPage object is a wrapper object, which refers to an internal Origin layout page object and does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

Layout

This class is derived from the Layer and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for handling internal Origin layout layers. Origin layout pages contain a layout layer, which contains other objects.

A Layout object is a wrapper object, which refers to an internal Origin layout object but does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

MatrixLayer

This class is derived from the Datasheet, Layer, and OriginObject classes, from which it inherits methods and properties. In this class, methods and properties are provided for handling matrix layers in Origin matrix pages. An Origin matrix contains a number of matrix objects, thus the MatrixLayer class contains a collection of the matrix objects in the matrix layer.

A MatrixLayer object is a wrapper object, which refers to an internal Origin matrix layer object, and does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

MatrixObject

This class is derived from the DataObject, DataObjectBase, and OriginObject classes, and it inherits their methods and properties. This class is used to handle internal Origin matrix objects.

MatrixObject is mainly used to control the style of the data in the internal Origin matrix, while the Matrix class is used to access the data in the matrix. Thus, the MatrixObject class has the same relationship with the Matrix class as the Column class has with the Dataset class. That is to say, an internal Origin matrix object (MatrixObject) holds a matrix data set (Matrix), just like a worksheet column (Column) holds a data set (Dataset). The data values displayed in the cells of a matrix are considered Z values, whose associated X and Y values are linearly mapped to the columns and rows of the matrix, respectively. A MatrixLayer holds a collection of MatrixObjects, even though there is generally only one MatrixObject per MatrixLayer.

A MatrixObject is a wrapper object, which refers to an internal Origin matrix object yet does not actually exist in Origin . So multiple wrapper objects can refer to the same internal Origin object.

MatrixPage

This class is derived from the Page, PageBase, and MatrixPage classes, from which it inherits methods and properties. In this class, methods and properties are provided for handling internal Origin matrix pages (windows).

A MatrixPage object is a wrapper object, which refers to an internal Origin matrix page object but does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

The Project class contains a collection of MatrixPage objects, named MatrixPages, in the open project file. A MatrixPage object can be used to locate and access layers on the Origin matrix page, which can then be used to access objects in the layers, such as MatrixObjects and GraphicObjects.

Note

This class is derived from the PageBase and OriginObject classes, from which it inherits their methods and properties. In this class, methods and properties are provided for handling internal Origin Note pages (windows). The Project class contains a collection of Note objects.

A Note object is a wrapper object, which refers to an internal Origin Note page but does not actually exist in Origin. And so, multiple wrapper objects can refer to the same internal Origin object.

OriginObject

This class is the Origin C base class for all Origin objects. Member functions and data members are provided in this class for all Origin objects.

Page

This class is derived from the PageBase and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for handling internal Origin pages, which contain one or more layers (except Note windows). The Page class contains a collection of the layers in the page.

A Page object is a wrapper object, which refers to an internal Origin page object but does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

PageBase

This class provides methods and properties for internal Origin pages (windows). Usually, this class is used in one of two ways. One way is by using a PageBase object as a parameter of a general function, but not using a specific Page object. The other way is by attaching a PageBase object to an unknown active page. Both usages can handle the specific page objects polymorphically. That is also the purpose of this class: to act as an abstract class for its derived page types, which include Note, GraphPage, WorksheetPage, LayoutPage, and MatrixPage.

point

This class is used to handle data points located in two-dimensional, or planar, space, with integer (x, y) coordinates.

Project

This class provides methods and properties for accessing most objects in an Origin project file. The Project class includes collections of different page types, and collections of all the data sets (including loose data sets, that are not in a worksheet column) in the Project file. This class also provides methods for getting active objects in a project file, as well as RootFolder properties, including ActiveCurve, ActiveLayer, and ActiveFolder.

A Project object is a wrapper object, which refers to an internal Origin project object but does not actually exist in Origin. Only one project file can be open in Origin at a time, so all Project objects refer to the currently open project file.

ROIObject

This class is derived from the GraphObject class, from which it inherits methods and properties. In this class, methods and properties are provided for working with Origin region of interest objects. An Origin region of interest object is used to identify a region of interest in an Origin matrix.

A ROIObject is a wrapper object, which refers to an internal Origin region of interest object but does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

Scale

This class is derived from the OriginObject class, from which it inherits methods and properties. In this class, methods and properties are provided for handling Origin axis scales. Two scale objects (X scale and Y scale) are contained in every graph layer on a graph page.

A Scale object is a wrapper object, which refers to an internal Origin scale object but does not actually exist in Origin. This means that multiple wrapper objects can refer to the same internal Origin object.

storage

Origin allows for saving binary type (TreeNode type) and INI type (INIFile type) information in Origin objects, which can be any Origin C objects derived from the OriginObject class, such as a WorksheetPage, Column, Folder, GraphPage, GraphLayer, DataPlot, Project, etc.

StyleHolder

This class is derived from the GraphObject and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for data plot style holders. A data plot style holder is used to store plot type information.

A StyleHolder object is a wrapper object, which refers to an internal Origin StyleHolder object but does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

UndoBlock

This class provides two functions for accessing projects safely, UndoBlockBegin() and UndoBlockEnd().

WorksheetPage

This class is derived from the Page, PageBase, and OriginObject classes, and it inherits their methods and properties. In this class, methods and properties are provided for internal Origin worksheet pages (windows). The Project class contains a collection of WorksheetPage objects.

A WorksheetPage object is a wrapper object, which refers to an internal Origin worksheet page object, but does not actually exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

Worksheet

This class is derived from the Datasheet, Layer, and OriginObject classes, from which it inherits methods and properties. In this class, methods and properties are provided for handling worksheet layers on Origin worksheet pages. An Origin worksheet may contain a number of worksheet columns, thus the Worksheet class contains a collection of all the columns in the worksheet.

A Worksheet object is a wrapper object, which refers to an internal Origin worksheet object, and does not exist in Origin. So multiple wrapper objects can refer to the same internal Origin object.

XYRange

This class is derived from the DataRange class, from which it inherits methods and properties. By using methods defined in this class, the data range, which has one independent variable (X) and one dependent variable (Y), can be gotten from matrix and worksheet windows, and put into matrix and worksheet windows. It can also be used to make a plot on a graph window.

Just like the DataRange class, XYRange does not hold data itself, but just keeps the data range with page name, sheet name (layer index for a graph) and row/column indices (data plot indices for a graph). Every XYRange object can contain multiple sub XY data ranges.

XYRangeComplex

This class is derived from the XYRange and DataRange classes, and it inherits their methods and properties. This class is used to get and set XY data sets of complex type for matrix and worksheet windows.

Just like the DataRange class, the XYRangeComplex class does not hold data itself, but just keeps the data range with page name, sheet name and row/column indices. Every XYRangeComplex object can contain multiple sub XY complex data ranges.

XYZRange

This class is derived from the DataRange class, from which it inherits methods and properties. This class is used to get and set XYZ data sets for matrix and worksheet windows.

Just like the DataRange class, the XYZRange class does not hold data itself, but just keeps the data range with page name, sheet name and row/column indices. Every XYZRange object can contain multiple sub XYZ data ranges.