///////////////////////////////////////
// START of File: CFF3_ZAF.H
///////////////////////////////////////

#ifndef CFF3_ZAF_H
#define CFF3_ZAF_H

//================================================================
//
// COPYRIGHT NOTICE:  This code is protected by Copyright!
//
// Copyright (c) 1994 through 1997 by DPC Technology Corporation.
// All rights reserved by DPC Technology Corporation.
//
// See files "cf_copyr.txt" and "cf_licen.txt" for details of
// copyright and license specifications, and contact information.
//
//================================================================

//-------------------------------------------------------------------
//
// "cff3_zaf.h" -- Product-Level Master Header Include File:
//
//-------------------------------------------------------------------

#define     CF_ID_PRODUCT_NAME  CFF3_ZAF
#define     CF_ID_PRODUCT_SKU   CF3ZAF__
#define     CF_ID_PRODUCT_VER   3
#define     CF_ID_PRODUCT_REV   01
#define     CF_ID_PRODUCT_DATE  970814

//---------------------------------------------
// Chart Framework Definitions and Constants:
//---------------------------------------------
#include    <cf_api/bf_defs.h>
            // Pull-in BASE Framework's assumed typedefs...

#include    <cf_api/cf_defs.h>
            // Chart Framework typedefs

#include    <cf_api/cf_const.h>
            // Chart Framework Math/Geometry constants

//--------------------------------------
// Chart Framework Data Infrastructure:
//--------------------------------------
#include    <cf_api/c0_dystr.hpp>
            // Dynamic String object.

#include    <cf_api/c0_stack.hpp>
            // "Generic (void pointer) Push/Pop Stack" object.
            // MAY be subclassed for specific instances of explicitly
            // typed stacked objects throughout the framework...

#include    <cf_api/c0_dyarr.hpp>
            // "Generic (void pointer) Dynamic Array" object.
            // MAY be subclassed for specific instances of explicitly
            // typed dynamic array objects throughout the framework...

//------------------------------------------------------
// "Level Zero" -- Base Framework Mapping Layer Files:
//------------------------------------------------------
#include    <cf_api/b0_color.hpp>
            // Abstract Color object mappings onto base framework.

#include    <cf_api/b0_dspla.hpp>
            // Mapping(s) onto base framework "output device
            // display" objects and ops.
            //
            // Objects include "Pens", "Brushes", "PenStyles",
            // "BrushHatches", "Device Dimension Mapping Modes",
            // "Binary Draw Ops", "Display Logical Font Dimensions",
            // "Bitmaps", "Bitmap Displays", "Fonts", "Font Info",
            // etc.
            //
            // Operations include "push-Pen", "pop-Pen", (or
            // brushs, etc), point/poly-line/polygon draw/fill
            // ops, device dimansion measurement ops, etc.

#include    <cf_api/b0_dsbmp.hpp>
            // Mapping onto base framework "bitmaps" and "bitmap displays".
            // These objects are used during display output ops.
            // NOTE: Dependencies between this file and b0_dspla.hpp!

#include    <cf_api/b0_fonts.hpp>
            // Base Framework abstractions of "font-specifier",
            // "display-font", and "display-font-info" objects.
            // These objects are used during display output ops.
            // NOTE: Dependencies between this file and b0_dspla.hpp!

//---------------------------------------------
// Chart "Object Property/Attribute" objects:
//---------------------------------------------
#include    <cf_api/c0_dimen.hpp>
            // Abstract "Device 2D Point" and "Device 2D Rectangle"
            // objects typically used as params for display ops.

#include    <cf_api/c0_datb.hpp>
            // "Display Attribute Set Collection" object.

#include    <cf_api/c0_tatb.hpp>
            // "Text Attribute Set/Collection"
            // (w/ Auto-Scaling Font Spec) object.

//---------------------------------------
// Chart "User Data Management" Objects:
//---------------------------------------
#include    <cf_api/c1_xyz.hpp>
            // Chart system "Data XYZ Point" object.

#include    <cf_api/c1_dgrou.hpp>
            // Dynamic arrays of XYZ Data points with
            // associated chart/display attributes.

//---------------------------------------------------
// Chart 2D/3D "Virtual Geometry" Objects
// WITHOUT Hidden Surface Elimination/Depth-Sorting:
//---------------------------------------------------
#include    <cf_api/c1_kernl.hpp>
            // Chart "2D/3D Geometry Kernel State Machine" object.

#include    <cf_api/c1_vobj.hpp>
            // Base class -- Virtual 3D Object.

#include    <cf_api/co1_poin.hpp>
            // 3D Point Object.

#include    <cf_api/co1_pser.hpp>
            // 3D Point Series Object.  Holds 3D Points in
            // a "letter/envelope" relationship.

#include    <cf_api/co1_plin.hpp>
            // 3D PolyLine.  Derived from 3D Point Series.

#include    <cf_api/co1_pgon.hpp>
            // 3D Polygon.  Derived from 3D PolyLine.

#include    <cf_api/co1_tmar.hpp>
            // 3D Text Marker.  Derived from 3D PolyLine.

#include    <cf_api/co1_tlin.hpp>
            // 3D "Rotated Font Text Line".
            // Derived from 3D PolyLine.

#include    <cf_api/co1_gts.hpp>
            // "Chart/Engine-Axis Grid/Tick Series" objects. Holds
            // 3D Text markers in a envelope/letter relationship.

#include    <cf_api/co1_tms.hpp>
            // "3D Text Marker Series".  Holds 3D Text markers
            // in a envelope/letter relationship.
            // Also has "TitleMarkerManager" object derived from
            // "3D TextMarkerSeries

//-------------------------------------------
// "Main Chart Component/SubSystem" Objects:
//-------------------------------------------
#include    <cf_api/c1_engin.hpp>
            // Chart Engine Object.

#include    <cf_api/c1_cmodl.hpp>
            // "Chart (Data) Model" object in an M/V/C Hierarchy.

#include    <cf_api/c4_cview.hpp>
            // ChartFolio "Chart View" object in an M/V/C Hierarchy.

#include    <z_chart.hpp>
            // Zinc ZAF v5.x base framework ZafChartStub object.

#include    <cf_api/b5_ccont.hpp>
            // ChartFolio-for-Zinc ZafChartControl object.

//-------------------------------------------
// "Main-Line DERIVED Chart Engine" Objects:
//-------------------------------------------
#include    <cf_api/ce1_pcor.hpp>
            // XYZ-to-Polar Coordinate Engine

#include    <cf_api/ce1_ccor.hpp>
            // Normal XYZ/Cartesian Engine.

//-----------------------------------------------
// 2D (and some 2D/3D) Charting Engine" objects:
//-----------------------------------------------
#include    <cf_api/ce2_pie.hpp>
            // "2D Pie" Chart Engine object(s)
            // derived from cf_engPolar.

#include    <cf_api/ce2_bar.hpp>
            // "2D Bar(s)" Chart Engine object(s)
            // derived from cf_engCartXYZ.

#include    <cf_api/ce2_colm.hpp>
            // "2D Column(s)" Chart Engine object(s)
            // derived from cf_engCartXYZ.

#include    <cf_api/ce2_stac.hpp>
            // "2D Stack(s)" Chart Engine object(s)
            // derived from cf_engCartXYZ.

#include    <cf_api/ce2_pser.hpp>
            // 2D display of 2D/3D Point Series Chart Engine object
            // derived from cf_engCartXYZ.

#include    <cf_api/ce2_line.hpp>
            // 2D display of 2D/3D Line Chart Engine object
            // derived from cf_engCartXYZ.

#include    <cf_api/ce2_area.hpp>
            // 2D display of 2D/3D Area Chart Engine object
            // derived from cf_engCartXYZ.

//-------------------------------------------------------
// Chart 2D/3D "Virtual Geometry" Objects WITH
// Hidden Surface Elimination/Depth-Sorting:
// True 3D Objects use HSE (Hidden Surface Elimination)
// and DSORTing (Depth Sorting).  These are objects that
// would NOT be used by a strictly 2D charting system...
//-------------------------------------------------------
#include    <cf_api/co1_cbmp.hpp>
            // Chart Framework "3D (Projected) Bitmap" object.

#include    <cf_api/co3_face.hpp>
            // "2D/3D Surface Facet (Polygon w/ DSORT/HSE)" object.

#include    <cf_api/co3_surf.hpp>
            // "2D/3D Surface Facet Collection" object.

#include    <cf_api/co3_phed.hpp>
            // "2D/3D PolyHedra Facet Collection" object.

#include    <cf_api/co3_phs.hpp>
            // "2D/3D PolyHedra Series (prism)" object(s).

//---------------------------------------------------------------
// "Level 3" -- 3D (HSE/DSORT) Charting Engines"
// Some 3D Engines are EXPLICIT re-implmentations for 3D Mode,
// and others already HAVE 2D/3D capability, and set their
// run-time/instantiated BEHAVIOR to display in 3D Mode...
//---------------------------------------------------------------
#include    <cf_api/ce3_pie.hpp>
            // "3D Pie" Chart Engine object(s)
            // derived from cf_engPolar.

#include    <cf_api/ce3_pser.hpp>
            // 3D display of 2D/3D Point Series Chart Engine object
            // derived from cf_eng_PointSer2D.

#include    <cf_api/ce3_line.hpp>
            // 3D display of 2D/3D Line Chart Engine object
            // derived from cf_eng_Line2D.

#include    <cf_api/ce3_area.hpp>
            // 3D display of 2D/3D Area Chart Engine object
            // derived from cf_eng_Area2D.

#include    <cf_api/ce3_ribn.hpp>
            // 2D/3D Ribbon Chart Engine object
            // derived from cf_engCartXYZ.

#include    <cf_api/ce3_bar.hpp>
            // 3D Bar Chart Engine object
            // derived from cf_engCartXYZ.

#include    <cf_api/ce3_colm.hpp>
            // 3D Column Chart Engine object
            // derived from cf_engCartXYZ.

#include    <cf_api/ce3_stac.hpp>
            // 3D Stack Chart Engine object
            // derived from cf_engCartXYZ.

#endif      // Terminates #include re-definition protection

///////////////////////////////////////
// END of File: CFF3_ZAF.HPP
///////////////////////////////////////


