Source for file Aspect.php
Documentation is available at Aspect.php
* Description: Chart view characteristics to define Chart 3D appearance
* @copyright (c) 1995-2010 by Steema Software SL. All Rights Reserved. <info@steema.com>
* @link http://www.steema.com
private $applyZOrder= true;
private $clipPoints= true;
private $orthogonal= true;
private $perspective= 100;
function __get( $property ) {
$method = "get{$property}";
function __set ( $property,$value ) {
$method = "set{$property}";
return $this->$method($value);
public function Aspect($c= null) {
* Determines the angle of 3D rotation in degrees.<br>
* Rotation describes front plane rotation by rotation degrees (0 - 360).
* Increasing the value positively will bring the right of the Chart
* towards the viewer and the left of the Chart away, moving around a
* vertical axis at the central horizontal point of the Chart. <br>
* <b>Important.</b> Orthogonal should be set to false for Rotation
* to act on the Chart. <br>
* Sets the angle of 3D rotation in degrees.
* Determines the angle of 3D elevation in degrees.<br>
* Elevation describes front plane rotation by rotation degrees (0 - 360).
* Increasing the value positively will bring the top of the Chart towards
* the viewer and the bottom of the Chart away, moving around an horizontal
* axis at the central vertical point of the Chart. <br>
* <b>Important.</b> Orthogonal should be set to false for Elevation to
* Sets the angle of 3D elevation in degrees.
* Determines the angle of 3D tilt in degrees.<br>
* Not supported for 2D or 3D orthogonal Charts <br>
* <b>Important.</b> Set TChart.Aspect.Orthogonal = false;<br>
* Sets the angle of 3D tilt in degrees.
* Displays multiple Series at different 3D "Z" (depth) positions.<br>
* Run-time only. <br> ApplyZOrder controls if several Series of the same
* TChart class are displayed in a different Z space for each one. <br>
* It's valid only when TChart.Aspect.View3D is true and when there's more
* than one Series in same chart. When false, all Series are drawn using
* the full Chart Z space. The Chart output can be confusing if Series
return $this->applyZOrder;
* Sets the different 3D "Z" depth positions of multiple Series.
* Restricts those Series points displayed outside the Chart axes
* rectangle when true.<br>
* Chart method defines the TChart or TDBChart component to display
* on a TQRChart. TQRChart is an "interface" component. It must be
* associated to a TChart or TDBChart component. <br>
return $this->clipPoints;
* Restricts those Series points displayed outside the Chart axes
* Displays the Chart in semi-3D mode when true.<br>
* Orthogonal displays the Chart in a simulated 3D fashion by drawing the
* Chart depth at an inclined angle. The bottom of the Chart is always
* horizontal. When false and the Chart is in 3D, the Chart will display
return $this->orthogonal;
* Displays the Chart in semi-3D mode when true.
* Chooses between speed or display quality for Chart rendering. <br><br>
* AntiAlias - Specifies antialiased rendering. <br>
* Default - Specifies the default mode. <br>
* HighQuality - Specifies high quality, low speed rendering. <br>
* HighSpeed - Specifies high speed, low quality rendering. <br>
* Invalid - Specifies an invalid mode. <br>
* None - Specifies no antialiasing. <br>
* Default value: HighSpeed
if (($this->chart== null) || ($this->chart->getGraphics3D()== null)) {
return $this->chart->getGraphics3D()->getSmoothingMode();
* Sets the type of rendering used to display the Chart depending on whether
* speed, display quality or antialiasing is required.
$g= $this->chart->getGraphics3D();
if (($this->chart!= null) && ($g!= null)) {
$g->setSmoothingMode($value);
* Chooses between speed or display quality for Text rendering.<br>
return $this->chart->getGraphics3D()->getTextSmooth();
* Sets the type of rendering used to display Text.
$this->chart->getGraphics3D()->setTextSmooth($value);
* Percent of zoom in 3D mode for the entire Chart.<br>
* Increasing the value of Zoom brings the entire Chart towards the viewer.
* 'In Chart' zoom will still function by mouse dragging within the Chart
* area and is distinct from whole Chart zooming.<br>
* Sets the percentage of zoom in 3D mode for the entire Chart.
* Perspective offers a distance adjustment for the Chart display, giving
* an appearance of perspective between the nearer and further parts of the
* See the comparison below: <br>
return $this->perspective;
* Sets the percentage of 3D perspective.
* Angle in degrees, from 0 to 90, when displaying in Orthogonal mode.<br>
* OrthoAngle sets the angle of inclination of the Depth axis when the
* Chart is set to Orthogonal mode, or in other words, when Orthogonal
* property is set to true. <br>
return $this->orthoAngle;
* Sets the angle in degrees, from 0 to 90, to display the Chart when in
* Percent from 0 to 100 of Z Depth.<br>
* Chart3DPercent indicates the size ratio between Chart dimensions and
* Chart depth when Chart.Aspect.View3D is true. You can specify a percent
* number from 1 to 100.<br>
* Sets the percentage of Z Depth.<br>
* Amount (postive or negative) in pixels of horizontal displacement.<br>
* HorizOffset will move the Chart Rectangle horizontally across the Chart
* Panel. Positive values move the Chart to the right, negative values to
return $this->horizOffset;
* Sets the amount (postive or negative) in pixels of horizontal
* Amount (postive or negative) in pixels of vertical displacement.<br>
* Moves the entire Chart on a vertical plane. Not Active for 2D or 3D
* orthogonal Charts. <br>
return $this->vertOffset;
* Sets the amount (postive or negative) in pixels of vertical
* Draws each Series with a 3D effect.<br>
* You can control the 3D proportion by using Chart.Aspect.Chart3DPercent.
* Chart.Walls.Visible depends on View3D. <br>
* @see Aspect#getOrthoAngle
* Draws each Series with a 3D effect when true.
if ($value== 0) { $value= false; }
if ($value== 1) { $value= true; }
* Resizes all texts according to Zoom property when true.<br>
* When false, Text size will remain constant regardless of the zoom factor
* obtained with Aspect.Zoom <br>
* Resizes all texts according to Zoom property when true.
* Copies all properties from a Series component to another.<br>
* Only the common properties shared by both source and destination Series
* The following code copies all properties from Series2 into Series1: <br>
* tChart1.Series[0].Assign(tChart1.Series[1]);<br><br>
* Some Series types restore values after assigning them. For example,
* Points Series restores Pointer.Visible to True after being assigned
* to a Line Series, which has Pointers invisible by default. <br>
* <b>Note:</b> Series events are not assigned. Series DataSource and
* FunctionType are assigned. Assign is used by CloneChartSeries and
* ChangeSeriesType methods for example.
$this->applyZOrder = $a->applyZOrder;
$this->chart3D = $a->chart3D;
$this->clipPoints = $a->clipPoints;
$this->elevation = $a->elevation;
$this->horizOffset = $a->horizOffset;
$this->orthoAngle = $a->orthoAngle;
$this->orthogonal = $a->orthogonal;
$this->perspective = $a->perspective;
$this->rotation = $a->rotation;
$this->vertOffset = $a->vertOffset;
$this->view3D = $a->view3D;
$this->zoomText = $a->zoomText;
|