⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ce3_xpie.hpp

📁 windRiver提供的的Zinc5.3完整源码,文档非常齐全
💻 HPP
字号:
//////////////////////////////////////
// START of File: CE3_XPIE.HPP
//////////////////////////////////////

#ifndef CE3_XPIE_HPP
#define CE3_XPIE_HPP

//===================================================================
//
// 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.
//
//===================================================================

// Master Header File Listing:
// Usage:   #include    <cf_api/ce3_pie.hpp>
            // 3D Pie Chart Engine object derived from 2D-Pie-Chart-Engine.

//--------------------------------------------------------------------
// Include Chart Framework class or ID defs/headers this file needs.
// Paths are relative to the IDE's (global) include path: ~/cfrz
//--------------------------------------------------------------------
class       cf_2DRect;
#include    <cf_api/c0_dimen.hpp>
            // 2D-Rects define projected ellipses

class       bf_Display;
#include    <cf_api/b0_dspla.hpp>

class       cf_ChartModel;
class       cf_eng_Polar;
#include    <cf_api/ce1_pcor.hpp>

class       cf_eng_Pie2D;
#include    <cf_api/ce2_pie.hpp>

class       cf_3DPolyHedra;
class       cf_3DRadialHedra;
#include    <cf_api/co3_phed.hpp>

class       cf_3DPhedraSeries;
#include    <cf_api/co3_phs.hpp>

#define     CE3_XPIE_3D_PCT_HEIGHT       100
            // default ratio percentage of 3D Pie height
            // to the chart-engine's 3d-box height is 100%:

//
// Declare a ChartFolio "3D Pie Chart" class:
//
// Class cf_eng_XPie2D3D models a 3D Polar Coordinate
// Pie Chart in a 3D Space.
//
class CF_EXPORT   cf_eng_XPie2D3D :
        public
        cf_eng_Pie2D
{

public:

    cf_eng_XPie2D3D();

    ~cf_eng_XPie2D3D();

    virtual void    applyDataUpdate( cf_ChartModel  *p_cf_cmodlDataSource );

    virtual void    applyGeomXform();

    virtual void    applyProjXform();

    virtual void    config3DBoxETC();
                            
    virtual void    draw2D( bf_Display *p_bf_dspFromChartView );

    virtual void    draw3D( bf_Display *p_bf_dspFromChartView );

            void    preferPieHeightPct( double dWhatPctOfChartHeight );
                    // e.g. half-height pie would be 50.0 pct.

protected:


    double      dPieHeightPct;  // user-specified percent value
    double      dPieHeightVal;  // engine-generated actual value
                // i.e. how "tall" do we want our pie slices
                // in relation to the height of the chart?
                // C-tor inits Pct value to CE3_XPIE_3D_PCT_HEIGHT
                // -- which generates actual value.

    //---------------------------------------------------------
    // 3D (polar coord) Pie Charts will need to reference 
    // an ADDITIONAL "top-of-the-pie" reference/projection 
    // Ellipse/Circle, which is typically defined by a 
    // projected rectangular area on the display device.
    //
    // To determine these rectangular areas, we will project 
    // the virtual boundaries of these ellipse-defining
    // rectangles onto the  current display.
    //---------------------------------------------------------
    cf_3DPoint  cf_3dpXZPlaneTopEllipseVirtXMax,
                cf_3dpXZPlaneTopEllipseVirtXMin,
                cf_3dpXZPlaneTopEllipseVirtZMax,
                cf_3dpXZPlaneTopEllipseVirtZMin;
                // These points will mark the "top of the pie"'s
                // virtual geometry ellipse boundaries (subject
                // to rotation effects, etc)...

    cf_3DPoint  cf_3dpXZPlaneTopEllipseProjXMax,
                cf_3dpXZPlaneTopEllipseProjXMin,
                cf_3dpXZPlaneTopEllipseProjZMax,
                cf_3dpXZPlaneTopEllipseProjZMin;
                // These points will mark the "top of the pie"'s
                // projected ellipse boundaries, after correction
                // for rotation effects, etc

    cf_3DPoint  cf_3dpXZPlaneTopEllipseCenter;
                // We'll also keep track of the CENTER of the 
                // top of our pie...

};  // End of cf_eng_XPie2D3D declaration.

#endif

//////////////////////////////////////
// END of File: CE3_XPIE.HPP
//////////////////////////////////////


            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -