00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_Face_h__
00017 #define __HOM_Face_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_Prim.h"
00023 #include "HOM_IterableList.h"
00024 #include <vector>
00025 #include <stdexcept>
00026 class HOM_Vector3;
00027 class HOM_Point;
00028
00029 SWIGOUT(%rename(Face) HOM_Face;)
00030
00031 class HOM_API HOM_Face : virtual public HOM_Prim
00032 {
00033 public:
00034 HOM_Face()
00035 { HOM_CONSTRUCT_OBJECT(this) }
00036 HOM_Face(const HOM_Face &face)
00037 : HOM_Prim(face)
00038 { HOM_CONSTRUCT_OBJECT(this) }
00039 virtual ~HOM_Face()
00040 { HOM_DESTRUCT_OBJECT(this) }
00041
00042
00043
00044
00045
00046
00047 SWIGOUT(virtual std::string __repr__()
00048 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;)
00049
00050 virtual bool isClosed()
00051 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00052
00053
00054 bool closed() throw(HOM_ObjectWasDeleted, HOM_Error)
00055 { return isClosed(); }
00056
00057 virtual void setIsClosed(bool on)
00058 throw(HOM_OperationFailed, HOM_GeometryPermissionError,
00059 HOM_ObjectWasDeleted, HOM_Error) = 0;
00060
00061 SWIGOUT(%newobject normal;)
00062 virtual HOM_Vector3 *normal()
00063 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00064
00065 SWIGOUT(%newobject addVertex;)
00066 virtual HOM_Vertex *addVertex(HOM_Point &point)
00067 throw(HOM_GeometryPermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00068 };
00069
00070 #endif