Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / Media3D / Size3D.cs / 1 / Size3D.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D size implementation.
//
//
//
// History:
// 06/26/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System.Windows;
using System.Windows.Media.Media3D;
using System;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace System.Windows.Media.Media3D
{
///
/// Size3D - A value type which defined a size in terms of non-negative width,
/// length, and height.
///
public partial struct Size3D
{
#region Constructors
///
/// Constructor which sets the size's initial values. Values must be non-negative.
///
/// X dimension of the new size.
/// Y dimension of the new size.
/// Z dimension of the new size.
public Size3D(double x, double y, double z)
{
if (x < 0 || y < 0 || z < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_x = x;
_y = y;
_z = z;
}
#endregion Constructors
#region Statics
///
/// Empty - a static property which provides an Empty size. X, Y, and Z are
/// negative-infinity. This is the only situation
/// where size can be negative.
///
public static Size3D Empty
{
get
{
return s_empty;
}
}
#endregion Statics
#region Public Methods and Properties
///
/// IsEmpty - this returns true if this size is the Empty size.
/// Note: If size is 0 this Size3D still contains a 0, 1, or 2 dimensional set
/// of points, so this method should not be used to check for 0 volume.
///
public bool IsEmpty
{
get
{
return _x < 0;
}
}
///
/// Size in X dimension. Default is 0, must be non-negative.
///
public double X
{
get
{
return _x;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_x = value;
}
}
///
/// Size in Y dimension. Default is 0, must be non-negative.
///
public double Y
{
get
{
return _y;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_y = value;
}
}
///
/// Size in Z dimension. Default is 0, must be non-negative.
///
public double Z
{
get
{
return _z;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_z = value;
}
}
#endregion Public Methods
#region Public Operators
///
/// Explicit conversion to Vector.
///
/// The size to convert to a vector.
/// A vector equal to this size.
public static explicit operator Vector3D(Size3D size)
{
return new Vector3D(size._x, size._y, size._z);
}
///
/// Explicit conversion to point.
///
/// The size to convert to a point.
/// A point equal to this size.
public static explicit operator Point3D(Size3D size)
{
return new Point3D(size._x, size._y, size._z);
}
#endregion Public Operators
#region Private Methods
private static Size3D CreateEmptySize3D()
{
Size3D empty = new Size3D();
// Can't use setters because they throw on negative values
empty._x = Double.NegativeInfinity;
empty._y = Double.NegativeInfinity;
empty._z = Double.NegativeInfinity;
return empty;
}
#endregion Private Methods
#region Private Fields
private readonly static Size3D s_empty = CreateEmptySize3D();
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D size implementation.
//
//
//
// History:
// 06/26/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System.Windows;
using System.Windows.Media.Media3D;
using System;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace System.Windows.Media.Media3D
{
///
/// Size3D - A value type which defined a size in terms of non-negative width,
/// length, and height.
///
public partial struct Size3D
{
#region Constructors
///
/// Constructor which sets the size's initial values. Values must be non-negative.
///
/// X dimension of the new size.
/// Y dimension of the new size.
/// Z dimension of the new size.
public Size3D(double x, double y, double z)
{
if (x < 0 || y < 0 || z < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_x = x;
_y = y;
_z = z;
}
#endregion Constructors
#region Statics
///
/// Empty - a static property which provides an Empty size. X, Y, and Z are
/// negative-infinity. This is the only situation
/// where size can be negative.
///
public static Size3D Empty
{
get
{
return s_empty;
}
}
#endregion Statics
#region Public Methods and Properties
///
/// IsEmpty - this returns true if this size is the Empty size.
/// Note: If size is 0 this Size3D still contains a 0, 1, or 2 dimensional set
/// of points, so this method should not be used to check for 0 volume.
///
public bool IsEmpty
{
get
{
return _x < 0;
}
}
///
/// Size in X dimension. Default is 0, must be non-negative.
///
public double X
{
get
{
return _x;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_x = value;
}
}
///
/// Size in Y dimension. Default is 0, must be non-negative.
///
public double Y
{
get
{
return _y;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_y = value;
}
}
///
/// Size in Z dimension. Default is 0, must be non-negative.
///
public double Z
{
get
{
return _z;
}
set
{
if (IsEmpty)
{
throw new System.InvalidOperationException(SR.Get(SRID.Size3D_CannotModifyEmptySize));
}
if (value < 0)
{
throw new System.ArgumentException(SR.Get(SRID.Size3D_DimensionCannotBeNegative));
}
_z = value;
}
}
#endregion Public Methods
#region Public Operators
///
/// Explicit conversion to Vector.
///
/// The size to convert to a vector.
/// A vector equal to this size.
public static explicit operator Vector3D(Size3D size)
{
return new Vector3D(size._x, size._y, size._z);
}
///
/// Explicit conversion to point.
///
/// The size to convert to a point.
/// A point equal to this size.
public static explicit operator Point3D(Size3D size)
{
return new Point3D(size._x, size._y, size._z);
}
#endregion Public Operators
#region Private Methods
private static Size3D CreateEmptySize3D()
{
Size3D empty = new Size3D();
// Can't use setters because they throw on negative values
empty._x = Double.NegativeInfinity;
empty._y = Double.NegativeInfinity;
empty._z = Double.NegativeInfinity;
return empty;
}
#endregion Private Methods
#region Private Fields
private readonly static Size3D s_empty = CreateEmptySize3D();
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CqlLexer.cs
- OperationResponse.cs
- HttpCacheVaryByContentEncodings.cs
- MachineKeyConverter.cs
- SplitterEvent.cs
- IntSecurity.cs
- SafeCryptContextHandle.cs
- TableLayoutCellPaintEventArgs.cs
- SafeNativeMethods.cs
- XmlQueryContext.cs
- Rotation3DAnimationBase.cs
- WindowsToolbarItemAsMenuItem.cs
- TreeBuilderXamlTranslator.cs
- ProfileEventArgs.cs
- DataGridViewRowStateChangedEventArgs.cs
- InheritanceContextChangedEventManager.cs
- PartitionerStatic.cs
- CommandSet.cs
- XPathAncestorQuery.cs
- DataSvcMapFileSerializer.cs
- SafeEventLogWriteHandle.cs
- GCHandleCookieTable.cs
- Image.cs
- EdmToObjectNamespaceMap.cs
- DataBindingExpressionBuilder.cs
- NavigatingCancelEventArgs.cs
- HttpResponseHeader.cs
- ToolTipService.cs
- ScalarConstant.cs
- BamlBinaryWriter.cs
- AppDomainFactory.cs
- SourceSwitch.cs
- HtmlButton.cs
- DBDataPermission.cs
- WindowsImpersonationContext.cs
- SingleAnimationBase.cs
- TimelineGroup.cs
- CacheDict.cs
- ZeroOpNode.cs
- TableHeaderCell.cs
- PromptStyle.cs
- RandomDelayQueuedSendsAsyncResult.cs
- SortedSetDebugView.cs
- ErrorsHelper.cs
- ThaiBuddhistCalendar.cs
- EnumBuilder.cs
- DataSourceExpression.cs
- NumberFormatter.cs
- LogLogRecordEnumerator.cs
- ParserOptions.cs
- ToolStripLocationCancelEventArgs.cs
- DataSourceCache.cs
- ProjectedSlot.cs
- PartialTrustVisibleAssembly.cs
- ControlBindingsCollection.cs
- Win32.cs
- Rules.cs
- HebrewCalendar.cs
- FontConverter.cs
- RawStylusInputCustomDataList.cs
- AnimatedTypeHelpers.cs
- ChangePasswordDesigner.cs
- InstanceLockQueryResult.cs
- PolicyReader.cs
- SwitchLevelAttribute.cs
- LookupNode.cs
- DivideByZeroException.cs
- HtmlTableRowCollection.cs
- ReadOnlyNameValueCollection.cs
- basevalidator.cs
- XmlWellformedWriter.cs
- ToolstripProfessionalRenderer.cs
- ServiceErrorHandler.cs
- CriticalExceptions.cs
- TransactionChannelFactory.cs
- StyleHelper.cs
- FocusManager.cs
- TypeDependencyAttribute.cs
- SecurityKeyIdentifierClause.cs
- MultiBindingExpression.cs
- Convert.cs
- RadioButtonAutomationPeer.cs
- ColorTranslator.cs
- ViewLoader.cs
- TemplateContentLoader.cs
- Exceptions.cs
- SafeLibraryHandle.cs
- TransactionTraceIdentifier.cs
- StylusShape.cs
- MenuItem.cs
- _ListenerRequestStream.cs
- ZipIOLocalFileDataDescriptor.cs
- IISMapPath.cs
- CollectionBase.cs
- DataGridColumnCollection.cs
- Regex.cs
- DataControlFieldHeaderCell.cs
- StructuredCompositeActivityDesigner.cs
- AtomPub10CategoriesDocumentFormatter.cs
- SystemColorTracker.cs