FDO API Reference Feature Data Objects

ICurveAbstract.h

Go to the documentation of this file.
00001 #ifndef _ICURVEABSTRACT_H_
00002 #define _ICURVEABSTRACT_H_
00003 
00004 //
00005 // Copyright (C) 2004-2006  Autodesk, Inc.
00006 // 
00007 // This library is free software; you can redistribute it and/or
00008 // modify it under the terms of version 2.1 of the GNU Lesser
00009 // General Public License as published by the Free Software Foundation.
00010 // 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 // 
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019 //
00020 
00021 
00022 
00023 #ifdef _WIN32
00024 #pragma once
00025 #endif
00026 
00027 #include <Geometry/IGeometry.h>
00028 #include <Geometry/IDirectPosition.h>
00029 
00030 /// \brief
00031 /// The FdoICurveAbstract class is a curve Geometry type (abstract). FdoICurveAbstract is the most general curve type.  
00032 class FdoICurveAbstract : public FdoIGeometry
00033 {
00034 public:
00035     /// \brief
00036     /// Gets the starting position of this Curve.
00037     /// 
00038     /// \remarks
00039     ///  This is the start of the entire curve.  In cases where a derived type
00040     /// is composed of multiple contiguous parts, this position is the start of the
00041     /// first of those parts.
00042     /// 
00043     /// \return
00044     /// Returns the starting position
00045     /// 
00046     FDO_GEOM_API virtual FdoIDirectPosition* GetStartPosition() const = 0;
00047 
00048     /// \brief
00049     /// Gets the ending position of this Curve.
00050     /// 
00051     /// \remarks
00052     ///  This is the end of the entire curve.  In cases where a derived type
00053     /// is composed of multiple contiguous parts, this position is the end of the
00054     /// last of those parts.
00055     /// 
00056     /// \return
00057     /// Returns the ending position
00058     /// 
00059     FDO_GEOM_API virtual FdoIDirectPosition* GetEndPosition() const = 0;
00060 
00061     /// \brief
00062     /// Gets the closure state for the curve.
00063     /// 
00064     /// \remarks
00065     /// The meaning behind this method is not guaranteed
00066     /// to be uniform between derived types or between implementations
00067     /// of this package.
00068     /// It may represent a computed value, an explicit attribute, or be true by definition.
00069     /// As a computed value, the result is typically from simply testing the starting and 
00070     /// ending positions for exact equality.  This is only reliable in floating
00071     /// point arithmetic if these data have identical origins.
00072     /// As an explicit attribute, it would be persisted with the Geometry and 
00073     /// typically denoted by a parameter in the relevant factory method.  
00074     /// Some Geometry types are closed by definition.
00075     /// 
00076     /// \return
00077     /// Returns 'true' if the curve is closed, and false otherwise
00078     /// 
00079     FDO_GEOM_API virtual bool GetIsClosed() const = 0;
00080 };
00081 #endif
00082 
00083 

Comments or suggestions? Send us feedback.