00001 00002 // Magic Software, Inc. 00003 // http://www.magic-software.com 00004 // Copyright (c) 2000, All Rights Reserved 00005 // 00006 // Source code from Magic Software is supplied under the terms of a license 00007 // agreement and may not be copied or disclosed except in accordance with the 00008 // terms of that agreement. The various license agreements may be found at 00009 // the Magic Software web site. This file is subject to the license 00010 // 00011 // FREE SOURCE CODE 00012 // http://www.magic-software.com/License.html/free.pdf 00013 00014 //---------------------------------------------------------------------------- 00015 inline MgcCylinder::MgcCylinder () 00016 { 00017 // no initialization for efficiency 00018 } 00019 //---------------------------------------------------------------------------- 00020 inline MgcVector3& MgcCylinder::Center () 00021 { 00022 return m_kCenter; 00023 } 00024 //---------------------------------------------------------------------------- 00025 inline const MgcVector3& MgcCylinder::Center () const 00026 { 00027 return m_kCenter; 00028 } 00029 //---------------------------------------------------------------------------- 00030 inline MgcVector3& MgcCylinder::Direction () 00031 { 00032 return m_kDirection; 00033 } 00034 //---------------------------------------------------------------------------- 00035 inline const MgcVector3& MgcCylinder::Direction () const 00036 { 00037 return m_kDirection; 00038 } 00039 //---------------------------------------------------------------------------- 00040 inline MgcReal& MgcCylinder::Height () 00041 { 00042 return m_fHeight; 00043 } 00044 //---------------------------------------------------------------------------- 00045 inline const MgcReal& MgcCylinder::Height () const 00046 { 00047 return m_fHeight; 00048 } 00049 //---------------------------------------------------------------------------- 00050 inline MgcReal& MgcCylinder::Radius () 00051 { 00052 return m_fRadius; 00053 } 00054 //---------------------------------------------------------------------------- 00055 inline const MgcReal& MgcCylinder::Radius () const 00056 { 00057 return m_fRadius; 00058 } 00059 //---------------------------------------------------------------------------- 00060 inline MgcSegment3 MgcCylinder::GetSegment () const 00061 { 00062 MgcSegment3 kSegment; 00063 kSegment.Direction() = m_fHeight*m_kDirection; 00064 kSegment.Origin() = m_kCenter - 0.5*kSegment.Direction(); 00065 return kSegment; 00066 } 00067 //----------------------------------------------------------------------------