The following classes are used to handle Origin objects. For details, see the Origin C Reference: Classes – Internal Origin Objects chapter in the Origin C help.
| Class | Brief Description |
|---|---|
| Axis | Access axes contained in layers on an Origin page. |
| AxisObject | Access axis objects (ticks, grids, labels) contained by axes on a graph page. |
| Collection | Generic container template for internal Origin objects (e.g., Collection<PageBase> Pages). Supports attach/detach and idiomatic looping (e.g., foreach).
|
| CollectionEmbeddedPages | Access pages embedded in a worksheet. |
| Column | Wrapper for worksheet columns; each holds a Dataset. Primarily controls display/style of the associated data. |
| DataObject | Base class for worksheet columns and matrix objects; data objects live in layers on a page. |
| DataObjectBase | Abstract base for DataObject and DataPlot hierarchies (polymorphic use). |
| DataPlot | Wrapper for graph data plots; stores plot characteristics and resides in a graph layer. |
| DataRange | Build/query ranges from Worksheet/Matrix/Graph. Holds page, sheet/layer, and index info; can aggregate multiple sub-ranges. |
| DataRangeEx | Extension of DataRange. |
| DatasetObject | Access non-numeric datasets (typically members of Column). |
| Datasheet | Handle worksheet and matrix layers. |
| Folder | Project Explorer folder wrapper; provides access to pages and folder hierarchy. |
| fpoint3d | 3D point with double (x, y, z). |
| fpoint | 2D point with double (x, y). |
| GetGraphPoints | Get screen/data (x, y) positions from a graph window. |
| GraphLayer | Wrapper for graph layers; contains a collection of DataPlot objects; owned by a GraphPage. |
| GraphObject | Handle graph objects (text/graphic annotations, style holders, ROI objects). Contained by a GraphLayer. |
| GraphPage | Wrapper for graph pages (windows); provides access to layers and their objects. |
| GraphPageBase | Base class for GraphPage and LayoutPage. |
| Grid | Format data-sheet windows; selection, labels, cell color, merge, etc. |
| GroupPlot | Handle grouped plots contained in a layer. |
| Layer | Wrapper for page layers; many objects on a page are contained in layers. |
| LayoutPage | Wrapper for layout pages (windows); exposes page methods and layer access. |
| Layout | Wrapper for layout layers within a layout page. |
| MatrixLayer | Handle matrix layers; contains a collection of matrix objects in the layer. |
| MatrixObject | Wrapper for matrix objects; controls style/display. Data access is via Matrix; analogous to Column (style) vs Dataset (data). |
| MatrixPage | Wrapper for matrix pages (windows); provides access to matrix layers and their objects. |
| Note | Wrapper for Note pages (windows). |
| OriginObject | Base class for all Origin objects. |
| Page | Wrapper for general pages; contains one or more layers (except Note). |
| PageBase | Abstract base for page types; useful for generic functions or attaching to the active page. |
| point | 2D integer point (x, y). |
| Project | Access most objects in the project; exposes collections (pages, datasets) and active objects (ActiveCurve/Layer/Folder). |
| ROIObject | Handle region-of-interest objects, typically on matrices. |
| Scale | Handle axis scales (each graph layer has X and Y scales). |
| storage | Save binary (TreeNode) and INI (INIFile) data into Origin objects. |
| StyleHolder | Wrapper for data-plot style holders (plot type info). |
| UndoBlock | Safe project edits via UndoBlockBegin()/UndoBlockEnd().
|
| WorksheetPage | Wrapper for worksheet pages (windows). |
| Worksheet | Handle worksheet layers; contains a collection of Column objects. |
| XYRange | Build/get XY ranges (one X, one Y). Holds page/sheet/layer and index info; can contain multiple sub-ranges. |
| XYRangeComplex | XY ranges for complex data (matrix/worksheet); multiple sub-ranges supported. |
| XYZRange | XYZ ranges (matrix/worksheet); multiple sub-ranges supported. |
Many of these classes are **wrappers** around internal Origin objects (they reference an internal object; multiple wrappers can refer to the same internal object). Where applicable, data access vs. style/display responsibilities are split (e.g., Matrix for data, MatrixObject for style). |