cgma
Shell.hpp
Go to the documentation of this file.
00001 //-------------------------------------------------------------------------
00002 // Filename      : Shell.hpp
00003 //
00004 // Purpose       : Represents a shell of a model.
00005 //
00006 // Special Notes :
00007 //
00008 // Creator       : Xuechen Liu
00009 //
00010 // Creation Date : 08/02/96
00011 //
00012 // Owner         : Malcolm J. Panthaki
00013 //-------------------------------------------------------------------------
00014 
00015 #ifndef SHELL_HPP
00016 #define SHELL_HPP
00017 
00018 // ********** BEGIN STANDARD INCLUDES      **********
00019 // ********** END STANDARD INCLUDES        **********
00020 
00021 // ********** BEGIN CUBIT INCLUDES         **********
00022 #include "GroupingEntity.hpp"
00023 #include "CubitDefines.h"
00024 #include "CubitBox.hpp"
00025 // ********** END CUBIT INCLUDES           **********
00026 
00027 // ********** BEGIN FORWARD DECLARATIONS   **********
00028 class ShellSM;
00029 class RefFace;
00030 class CoFace;
00031 class RefVolume;
00032 template <class X> class DLIList;
00033 // ********** END FORWARD DECLARATIONS     **********
00034 
00035 class CUBIT_GEOM_EXPORT Shell : public GroupingEntity
00036 {
00037 public :
00038 
00039   Shell() ;
00040     //- The default constructor.
00041 
00042   Shell(ShellSM* OSMEPtr) ;
00043     //- The constructor with a pointer to an other solid model entity.
00044 
00045   DagType dag_type() const { return DagType::shell_type(); }
00046 
00047   CoFace* get_co_face_ptr( RefFace* ref_face_ptr );
00048     //R CoFace*
00049     //R- A pointer to a child CoFace.
00050     //I ref_face_ptr
00051     //I- A pointer to the RefFace who's corresponding 
00052     //I- CoFace is to be found.
00053     //- If there is more than one CoFace in the shell for
00054     //- the specified RefFace, the first one encountered
00055     //- will be returned.
00056             
00057   RefVolume* get_ref_volume_ptr( );
00058     //R RefVolume*
00059     //R- A pointer to the parent RefVolume.
00060 
00061   CubitBox bounding_box();
00062     //R CubitBox
00063     //R- The bounding box of the Shell
00064     //- Calculate the union of the bounding boxes of the
00065     //- RefFaces of this Shell, and return it is the 
00066     //- bounding box of the Shell.
00067       
00068   ShellSM* get_shell_sm_ptr() const;
00069   
00070   CubitBoolean is_sheet();
00071     //- Return true if shell is a sheet.
00072       
00073 protected: 
00074 
00075 private:
00076   
00077     Shell( const Shell& );
00078     void operator=( const Shell&);
00079 } ;
00080 
00081 // ********** BEGIN INLINE FUNCTIONS       **********
00082 // ********** END INLINE FUNCTIONS         **********
00083 
00084 // ********** BEGIN FRIEND FUNCTIONS       **********
00085 // ********** END FRIEND FUNCTIONS         **********
00086 
00087 // ********** BEGIN EXTERN FUNCTIONS       **********
00088 // ********** END EXTERN FUNCTIONS         **********
00089 
00090 #endif
00091 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines