/***************************************************************************
 *                          Zanoza Modeler v2.x                            *
 *      This is unpublished propietary source code of Zanoza Software.     *
 *      The copyright notice does not evidence any actual or intended      *
 *                    publication of such source code.                     *
 *                                                                         *
 *                   Copyright (c) 2002 Zanoza Software.                   *
 *                                                                         *
 *                        All rights reserved.                             *
 ***************************************************************************
 *--------------------------------------------------------------------------
 * @author:   Oleg M.
 *--------------------------------------------------------------------------
 * @purpose:  Base ZModeler 2.x include file
 *--------------------------------------------------------------------------
 * @histroy: 23.09.2002. Created
 */
#ifndef zmodeler_h_included
#define zmodeler_h_included

#ifndef __cplusplus
# error ZModeler requires C++ compilation (use a .cpp suffix)
#endif

#if _MSC_VER >= 1300  // 1300 == VC++ 7.0
# ifndef WINVER
#  define WINVER     0x0500 //win2000 is a minimum compatible.
#  ifndef _CRT_SECURE_NO_DEPRECATE
#    define _CRT_SECURE_NO_DEPRECATE 1
#  endif //!_CRT_SECURE_NO_DEPRECATE
# else
#  error WINVER already defined; include <zmodeler.h> first.
# endif //no WINVER
#endif//VC++ >= 8.0

#include <zmconf.h>

#include <zmbase.h>
#include <zmath.h>
#include <zresult.h>
#include <zsequence.h>
#include <zstring.h>
#include <zptr.h>
#include <zinterface.h>
#include <zcollection.h>
#ifndef  ZM_NO_NATIVE_TYPES
// ZModeler's native types follow:
#include <zblackbox.h>
#include <zcolor.h>
#include <zangle.h>
#include <zpoint.h>
#include <zpoint2d.h>
#include <zpoint3d.h>
#include <zvertex.h>
#include <zvertexbuf.h>
#include <zpolygon.h>
#include <zpolybuf.h>
#include <zrect.h>
#include <zline.h>
#include <zline3d.h>
#include <zquaternion.h>
#include <zmatrix.h>
#include <zplane.h>
#include <zboundary.h>
#include <zlibrary.h>
#include <zerror.h>
#endif //ZM_NO_NATIVE_TYPES

#ifndef ZM_NO_GPZMODELER
#include <core/IModeler.h>
//------------------------------------------------------
// Warning! The pointer below is not an addref-release
//          interface. Any AddRef/Release on it will
//          assert. Thus you should use it as-is
extern DLL_LINKAGE core::IModeler*  g_pZModeler;
#endif //ZM_NO_GPZMODELER

#endif//zmodeler_h_included
