📄 ce1_pcor.hpp
字号:
//////////////////////////////////////
// START of File: CE1_PCOR.HPP
//////////////////////////////////////
#ifndef CE1_PCOR_HPP
#define CE1_PCOR_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/ce1_pcor.hpp>
// "Polar Coord" Chart Engine object
// (derived from base "Chart-Engine").
// Specify the extent of the base-class/framework usage:
class bf_Display;
class cf_3DPoint;
class cf_ChartModel;
class cf_ChartEngine;
#include <cf_api/c1_engin.hpp>
// which pulls in the classes above...
//----------------------------------------------------------
// Class cf_eng_Polar models a Polar Coordinate Chart which
// will be used to derived Pie Charts, Radar Charts, etc.
//----------------------------------------------------------
class CF_EXPORT cf_eng_Polar : public cf_ChartEngine
{
public:
cf_eng_Polar( cf_ChartType enumChartType,
cf_DispMode enumDispMode );
virtual ~cf_eng_Polar();
virtual void applyGeomXform();
virtual void applyProjXform();
virtual void config3DBoxETC();
virtual BOOL disp2D3DMode( cf_DispMode enumNewDispMode );
// 2D Mode defined invariantly to X = 90, Y = 0, Z = 0,
// which makes the viewer look DOWN at the BOTTOM Face.
// Note that the base-class get-method (i.e.
// cf_ChartEngine::disp2D3DMode() ) is unchanged.
virtual void draw2D( bf_Display *p_bf_dspFromChartView );
virtual void draw3D( bf_Display *p_bf_dspFromChartView );
protected:
virtual void applyVirtScalings();
virtual void applyVirtTranslations();
virtual void calcVirtScaleFactors();
virtual void calcVirtTransFactors();
// Polar-type charts essential no-op these methods.
virtual void measureVirtOrigin();
// Defined invariantly as the CENTER of
// the BOTTOM FACE of the 3D Chart Box.
//---------------------------------------------------------
// Polar Coord Charts will need to display/reference
// a reference/projection Ellipse/Circle, which is
// typically defined by a projected rectangular area,
// on the FLOOR (XZ Plane) (or possibly the WALLs
// (XY or YZ Planes) ) of the cf_ChartEngine's 3D Box.
//
// To determine these rectangular areas, we will project
// the virtual boundaries of these circles onto the
// current display.
//---------------------------------------------------------
cf_3DPoint cf_3dpXZPlaneEllipseVirtXMax,
cf_3dpXZPlaneEllipseVirtXMin,
cf_3dpXZPlaneEllipseVirtZMax,
cf_3dpXZPlaneEllipseVirtZMin;
// These points will mark the "polar coord circle"'s
// virtual geometry ellipse boundaries (subject
// to rotation effects, etc)...
cf_3DPoint cf_3dpXZPlaneEllipseProjXMax,
cf_3dpXZPlaneEllipseProjXMin,
cf_3dpXZPlaneEllipseProjZMax,
cf_3dpXZPlaneEllipseProjZMin;
// These points will mark the "polar coord circle"'s
// projected ellipse boundaries, after correction
// for rotation effects, etc
cf_3DPoint cf_3dpXZPlaneEllipseCenter;
// We'll also keep track of our polar coord origin.
}; // End of cf_eng_Polar declaration.
#endif
//////////////////////////////////////
// START of File: CE1_PCOR.HPP
//////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -