- eliminazione file aggiuntivi.
- rimessi due header richiesti dai file .rc .
This commit is contained in:
Daniele Bariletti
2023-10-30 09:11:34 +01:00
parent b27c6e0a7e
commit af431cdee3
63 changed files with 100 additions and 11546 deletions
-25
View File
@@ -1,25 +0,0 @@
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, and the entire permission notice in its entirety,
including the disclaimer of warranties.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
-4
View File
@@ -1,4 +0,0 @@
uuid support files for Android build of openNURBS
source initially from
https://android.googlesource.com/platform/external/e2fsprogs
-44
View File
@@ -1,44 +0,0 @@
/*
* clear.c -- Clear a UUID
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include "string.h"
#include "uuidP.h"
void uuid_clear(uuid_t uu)
{
memset(uu, 0, 16);
}
-56
View File
@@ -1,56 +0,0 @@
/*
* compare.c --- compare whether or not two UUID's are the same
*
* Returns 0 if the two UUID's are different, and 1 if they are the same.
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include "uuidP.h"
#include <string.h>
#define UUCMP(u1,u2) if (u1 != u2) return((u1 < u2) ? -1 : 1);
int uuid_compare(const uuid_t uu1, const uuid_t uu2)
{
struct uuid uuid1, uuid2;
uuid_unpack(uu1, &uuid1);
uuid_unpack(uu2, &uuid2);
UUCMP(uuid1.time_low, uuid2.time_low);
UUCMP(uuid1.time_mid, uuid2.time_mid);
UUCMP(uuid1.time_hi_and_version, uuid2.time_hi_and_version);
UUCMP(uuid1.clock_seq, uuid2.clock_seq);
return memcmp(uuid1.node, uuid2.node, 6);
}
-882
View File
@@ -1,882 +0,0 @@
/* lib/config.h. Generated from config.h.in by configure. */
/* lib/config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Define to 1 if debugging the blkid library */
/* #undef CONFIG_BLKID_DEBUG */
/* Define to 1 to compile findfs */
#define CONFIG_BUILD_FINDFS 1
/* Define to 1 if debugging ext3/4 journal code */
/* #undef CONFIG_JBD_DEBUG */
/* Define to 1 to enable mmp support */
#define CONFIG_MMP 1
/* Define to 1 to enable tdb support */
#define CONFIG_TDB 1
/* Define to 1 if the testio I/O manager should be enabled */
#define CONFIG_TESTIO_DEBUG 1
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* Define to 1 to disable use of backtrace */
/* #undef DISABLE_BACKTRACE */
/* Define to 1 to enable bitmap stats. */
#define ENABLE_BMAP_STATS 1
/* Define to 1 to enable bitmap stats. */
/* #undef ENABLE_BMAP_STATS_OPS */
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#define ENABLE_NLS 1
/* Define to 1 if you have the `add_key' function. */
/* #undef HAVE_ADD_KEY */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the `argz_count' function. */
/* #undef HAVE_ARGZ_COUNT */
/* Define to 1 if you have the <argz.h> header file. */
/* #undef HAVE_ARGZ_H */
/* Define to 1 if you have the `argz_next' function. */
/* #undef HAVE_ARGZ_NEXT */
/* Define to 1 if you have the `argz_stringify' function. */
/* #undef HAVE_ARGZ_STRINGIFY */
/* Define to 1 if you have the `asprintf' function. */
#define HAVE_ASPRINTF 1
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the `backtrace' function. */
#define HAVE_BACKTRACE 1
/* Define to 1 if you have the `blkid_probe_enable_partitions' function. */
/* #undef HAVE_BLKID_PROBE_ENABLE_PARTITIONS */
/* Define to 1 if you have the `blkid_probe_get_topology' function. */
/* #undef HAVE_BLKID_PROBE_GET_TOPOLOGY */
/* Define to 1 if the compiler understands __builtin_expect. */
#define HAVE_BUILTIN_EXPECT 1
/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#define HAVE_CFLOCALECOPYCURRENT 1
/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
/* Define to 1 if you have the `chflags' function. */
#define HAVE_CHFLAGS 1
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
/* #undef HAVE_DCGETTEXT */
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
don't. */
#define HAVE_DECL_FEOF_UNLOCKED 1
/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
you don't. */
#define HAVE_DECL_FGETS_UNLOCKED 0
/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
don't. */
#define HAVE_DECL_GETC_UNLOCKED 1
/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
don't. */
#define HAVE_DECL__SNPRINTF 0
/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you
don't. */
#define HAVE_DECL__SNWPRINTF 0
/* Define to 1 if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dlopen' function. */
#define HAVE_DLOPEN 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <execinfo.h> header file. */
#define HAVE_EXECINFO_H 1
/* Define to 1 if Ext2 ioctls present */
/* #undef HAVE_EXT2_IOCTLS */
/* Define to 1 if you have the `fadvise64' function. */
/* #undef HAVE_FADVISE64 */
/* Define to 1 if you have the `fallocate' function. */
/* #undef HAVE_FALLOCATE */
/* Define to 1 if you have the `fallocate64' function. */
/* #undef HAVE_FALLOCATE64 */
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fdatasync' function. */
#define HAVE_FDATASYNC 1
/* Define to 1 if you have the <features.h> header file. */
/* #undef HAVE_FEATURES_H */
/* Define to 1 if you have the `fstat64' function. */
#define HAVE_FSTAT64 1
/* Define to 1 if you have the `ftruncate64' function. */
/* #undef HAVE_FTRUNCATE64 */
/* Define to 1 if you have the <fuse.h> header file. */
/* #undef HAVE_FUSE_H */
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `fwprintf' function. */
#define HAVE_FWPRINTF 1
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `getdtablesize' function. */
#define HAVE_GETDTABLESIZE 1
/* Define to 1 if you have the `getegid' function. */
#define HAVE_GETEGID 1
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgid' function. */
#define HAVE_GETGID 1
/* Define to 1 if you have the `getmntinfo' function. */
#define HAVE_GETMNTINFO 1
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the `getpagesize' function. */
#define HAVE_GETPAGESIZE 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getrlimit' function. */
#define HAVE_GETRLIMIT 1
/* Define to 1 if you have the `getrusage' function. */
#define HAVE_GETRUSAGE 1
/* Define if the GNU gettext() function is already present or preinstalled. */
/* #undef HAVE_GETTEXT */
/* Define to 1 if you have the `getuid' function. */
#define HAVE_GETUID 1
/* Define if you have the iconv() function and it works. */
#define HAVE_ICONV 1
/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
#define HAVE_INTMAX_T 1
/* Define to 1 if the system has the type `intptr_t'. */
#define HAVE_INTPTR_T 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
declares uintmax_t. */
#define HAVE_INTTYPES_H_WITH_UINTMAX 1
/* Define to 1 if you have the `jrand48' function. */
#define HAVE_JRAND48 1
/* Define to 1 if you have the `keyctl' function. */
/* #undef HAVE_KEYCTL */
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#define HAVE_LANGINFO_CODESET 1
/* Define if your <locale.h> file defines LC_MESSAGES. */
#define HAVE_LC_MESSAGES 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/falloc.h> header file. */
/* #undef HAVE_LINUX_FALLOC_H */
/* Define to 1 if you have the <linux/fd.h> header file. */
/* #undef HAVE_LINUX_FD_H */
/* Define to 1 if you have the <linux/loop.h> header file. */
/* #undef HAVE_LINUX_LOOP_H */
/* Define to 1 if you have the <linux/major.h> header file. */
/* #undef HAVE_LINUX_MAJOR_H */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the `llseek' function. */
/* #undef HAVE_LLSEEK */
/* Define to 1 if llseek declared in unistd.h */
/* #undef HAVE_LLSEEK_PROTOTYPE */
/* Define to 1 if the system has the type 'long long int'. */
#define HAVE_LONG_LONG_INT 1
/* Define to 1 if you have the `lseek64' function. */
/* #undef HAVE_LSEEK64 */
/* Define to 1 if lseek64 declared in unistd.h */
/* #undef HAVE_LSEEK64_PROTOTYPE */
/* Define to 1 if you have the <magic.h> header file. */
/* #undef HAVE_MAGIC_H */
/* Define to 1 if you have the `mallinfo' function. */
/* #undef HAVE_MALLINFO */
/* Define to 1 if you have the <malloc.h> header file. */
/* #undef HAVE_MALLOC_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the `mbstowcs' function. */
#define HAVE_MBSTOWCS 1
/* Define to 1 if you have the `memalign' function. */
/* #undef HAVE_MEMALIGN */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mempcpy' function. */
/* #undef HAVE_MEMPCPY */
/* Define to 1 if you have the `mmap' function. */
#define HAVE_MMAP 1
/* Define to 1 if you have the <mntent.h> header file. */
/* #undef HAVE_MNTENT_H */
/* Define to 1 if you have the `msync' function. */
#define HAVE_MSYNC 1
/* Define to 1 if you have the `munmap' function. */
#define HAVE_MUNMAP 1
/* Define to 1 if you have the `nanosleep' function. */
#define HAVE_NANOSLEEP 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <net/if_dl.h> header file. */
//#define HAVE_NET_IF_DL_H 1
/* Define to 1 if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define to 1 if you have the `newlocale' function. */
#define HAVE_NEWLOCALE 1
/* Define to 1 if you have the `open64' function. */
/* #undef HAVE_OPEN64 */
/* Define to 1 if optreset for getopt is present */
#define HAVE_OPTRESET 1
/* Define to 1 if you have the `pathconf' function. */
#define HAVE_PATHCONF 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the `posix_fadvise' function. */
/* #undef HAVE_POSIX_FADVISE */
/* Define to 1 if you have the `posix_fadvise64' function. */
/* #undef HAVE_POSIX_FADVISE64 */
/* Define to 1 if you have the `posix_memalign' function. */
#define HAVE_POSIX_MEMALIGN 1
/* Define if your printf() function supports format strings with positions. */
#define HAVE_POSIX_PRINTF 1
/* Define to 1 if you have the `prctl' function. */
/* #undef HAVE_PRCTL */
/* Define to 1 if you have the `pread' function. */
#define HAVE_PREAD 1
/* Define to 1 if you have the `pread64' function. */
/* #undef HAVE_PREAD64 */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
#define HAVE_PTHREAD_MUTEX_RECURSIVE 1
/* Define if the POSIX multithreading library has read/write locks. */
#define HAVE_PTHREAD_RWLOCK 1
/* Define to 1 if you have the `putenv' function. */
#define HAVE_PUTENV 1
/* Define to 1 if you have the `pwrite' function. */
#define HAVE_PWRITE 1
/* Define to 1 if you have the `pwrite64' function. */
/* #undef HAVE_PWRITE64 */
/* Define to 1 if dirent has d_reclen */
#define HAVE_RECLEN_DIRENT 1
/* Define to 1 if if struct sockaddr contains sa_len */
//#define HAVE_SA_LEN 1
/* Define to 1 if you have the `secure_getenv' function. */
/* #undef HAVE_SECURE_GETENV */
/* Define to 1 if you have the <semaphore.h> header file. */
#define HAVE_SEMAPHORE_H 1
/* Define to 1 if sem_init() exists */
/* #undef HAVE_SEM_INIT */
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the <setjmp.h> header file. */
#define HAVE_SETJMP_H 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `setmntent' function. */
/* #undef HAVE_SETMNTENT */
/* Define to 1 if you have the `setresgid' function. */
/* #undef HAVE_SETRESGID */
/* Define to 1 if you have the `setresuid' function. */
/* #undef HAVE_SETRESUID */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
/* Define to 1 if you have the `srandom' function. */
#define HAVE_SRANDOM 1
/* Define to 1 if struct stat has st_flags */
#define HAVE_STAT_FLAGS 1
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
uintmax_t. */
#define HAVE_STDINT_H_WITH_UINTMAX 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `stpcpy' function. */
#define HAVE_STPCPY 1
/* Define to 1 if you have the `strcasecmp' function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strptime' function. */
#define HAVE_STRPTIME 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the `strtoull' function. */
#define HAVE_STRTOULL 1
/* Define to 1 if `st_atim' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_ATIM */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the `sync_file_range' function. */
/* #undef HAVE_SYNC_FILE_RANGE */
/* Define to 1 if you have the `sysconf' function. */
#define HAVE_SYSCONF 1
/* Define to 1 if you have the <sys/acl.h> header file. */
#define HAVE_SYS_ACL_H 1
/* Define to 1 if you have the <sys/disklabel.h> header file. */
/* #undef HAVE_SYS_DISKLABEL_H */
/* Define to 1 if you have the <sys/disk.h> header file. */
#define HAVE_SYS_DISK_H 1
/* Define to 1 if you have the <sys/file.h> header file. */
#define HAVE_SYS_FILE_H 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/key.h> header file. */
/* #undef HAVE_SYS_KEY_H */
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/mount.h> header file. */
#define HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/prctl.h> header file. */
/* #undef HAVE_SYS_PRCTL_H */
/* Define to 1 if you have the <sys/resource.h> header file. */
#define HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/sockio.h> header file. */
//#define HAVE_SYS_SOCKIO_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/syscall.h> header file. */
#define HAVE_SYS_SYSCALL_H 1
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#define HAVE_SYS_SYSCTL_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
/* #undef HAVE_SYS_SYSMACROS_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/un.h> header file. */
#define HAVE_SYS_UN_H 1
/* Define to 1 if you have the <sys/wait.h> header file. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <termios.h> header file. */
#define HAVE_TERMIOS_H 1
/* Define to 1 if you have the <termio.h> header file. */
/* #undef HAVE_TERMIO_H */
/* Define to 1 if you have the `tsearch' function. */
#define HAVE_TSEARCH 1
/* Define to 1 if ssize_t declared */
#define HAVE_TYPE_SSIZE_T 1
/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
#define HAVE_UINTMAX_T 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if the system has the type 'unsigned long long int'. */
#define HAVE_UNSIGNED_LONG_LONG_INT 1
/* Define to 1 if you have the `uselocale' function. */
#define HAVE_USELOCALE 1
/* Define to 1 if you have the `usleep' function. */
#define HAVE_USLEEP 1
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `valloc' function. */
#define HAVE_VALLOC 1
/* Define to 1 or 0, depending whether the compiler supports simple visibility
declarations. */
#define HAVE_VISIBILITY 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define if you have the 'wchar_t' type. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wcsnlen' function. */
#define HAVE_WCSNLEN 1
/* Define if you have the 'wint_t' type. */
#define HAVE_WINT_T 1
/* Define to 1 if O_NOATIME works. */
#define HAVE_WORKING_O_NOATIME 0
/* Define to 1 if O_NOFOLLOW works. */
#define HAVE_WORKING_O_NOFOLLOW 1
/* Define to 1 if you have the `__fsetlocking' function. */
/* #undef HAVE___FSETLOCKING */
/* Define to 1 if you have the `__secure_getenv' function. */
/* #undef HAVE___SECURE_GETENV */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Define if integer division by zero raises signal SIGFPE. */
#define INTDIV0_RAISES_SIGFPE 1
/* package name for gettext */
#define PACKAGE "e2fsprogs"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
/* #undef PRI_MACROS_BROKEN */
/* Define if the pthread_in_use() detection is hard. */
/* #undef PTHREAD_IN_USE_DETECTION_HARD */
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `off_t', as computed by sizeof. */
#define SIZEOF_OFF_T 8
/* The size of `short', as computed by sizeof. */
#define SIZEOF_SHORT 2
/* The size of `time_t', as computed by sizeof. */
#define SIZEOF_TIME_T 8
/* Define as the maximum value of type 'size_t', if the system doesn't define
it. */
#ifndef SIZE_MAX
/* # undef SIZE_MAX */
#endif
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* If the compiler supports a TLS storage class define it to that here */
#define TLS __thread
/* Define if the POSIX multithreading library can be used. */
#define USE_POSIX_THREADS 1
/* Define if references to the POSIX multithreading library should be made
weak. */
/* #undef USE_POSIX_THREADS_WEAK */
/* Define if the GNU Pth multithreading library can be used. */
/* #undef USE_PTH_THREADS */
/* Define if references to the GNU Pth multithreading library should be made
weak. */
/* #undef USE_PTH_THREADS_WEAK */
/* Define if the old Solaris multithreading library can be used. */
/* #undef USE_SOLARIS_THREADS */
/* Define if references to the old Solaris multithreading library should be
made weak. */
/* #undef USE_SOLARIS_THREADS_WEAK */
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Define to 1 to build uuidd */
#define USE_UUIDD 1
/* Define if the native Windows multithreading API can be used. */
/* #undef USE_WINDOWS_THREADS */
/* version for gettext */
#define VERSION "0.14.1"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Define to 1 if Apple Darwin libintl workaround is needed */
#define _INTL_REDIRECT_MACROS 1
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* Please see the Gnulib manual for how to use these macros.
Suppress extern inline with HP-UX cc, as it appears to be broken; see
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
Suppress extern inline with Sun C in standards-conformance mode, as it
mishandles inline functions that call each other. E.g., for 'inline void f
(void) { } inline void g (void) { f (); }', c99 incorrectly complains
'reference to static identifier "f" in extern inline function'.
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
Suppress the use of extern inline on Apple's platforms, as Libc at least
through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
Perhaps Apple will fix this some day. */
#if ((__GNUC__ \
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !(defined __SUNPRO_C && __STDC__))) \
&& !defined __APPLE__)
# define _GL_INLINE inline
# define _GL_EXTERN_INLINE extern inline
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
&& !defined __APPLE__)
# if __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
# else
# define _GL_INLINE extern inline
# endif
# define _GL_EXTERN_INLINE extern
#else
# define _GL_INLINE static _GL_UNUSED
# define _GL_EXTERN_INLINE static _GL_UNUSED
#endif
#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
# define _GL_INLINE_HEADER_CONST_PRAGMA
# else
# define _GL_INLINE_HEADER_CONST_PRAGMA \
_Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
# endif
/* Suppress GCC's bogus "no previous prototype for 'FOO'"
and "no previous declaration for 'FOO'" diagnostics,
when FOO is an inline function in the header; see
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>. */
# define _GL_INLINE_HEADER_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
_Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
_GL_INLINE_HEADER_CONST_PRAGMA
# define _GL_INLINE_HEADER_END \
_Pragma ("GCC diagnostic pop")
#else
# define _GL_INLINE_HEADER_BEGIN
# define _GL_INLINE_HEADER_END
#endif
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define as the type of the result of subtracting two pointers, if the system
doesn't define it. */
/* #undef ptrdiff_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to unsigned long or unsigned long long if <stdint.h> and
<inttypes.h> don't define. */
/* #undef uintmax_t */
#include "dirpaths.h"
#define __libc_lock_t gl_lock_t
#define __libc_lock_define gl_lock_define
#define __libc_lock_define_initialized gl_lock_define_initialized
#define __libc_lock_init gl_lock_init
#define __libc_lock_lock gl_lock_lock
#define __libc_lock_unlock gl_lock_unlock
#define __libc_lock_recursive_t gl_recursive_lock_t
#define __libc_lock_define_recursive gl_recursive_lock_define
#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
#define __libc_lock_init_recursive gl_recursive_lock_init
#define __libc_lock_lock_recursive gl_recursive_lock_lock
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
#define glthread_in_use libintl_thread_in_use
#define glthread_lock_init_func libintl_lock_init_func
#define glthread_lock_lock_func libintl_lock_lock_func
#define glthread_lock_unlock_func libintl_lock_unlock_func
#define glthread_lock_destroy_func libintl_lock_destroy_func
#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded
#define glthread_rwlock_init_func libintl_rwlock_init_func
#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded
#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func
#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded
#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func
#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded
#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func
#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded
#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func
#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded
#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func
#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded
#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func
#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded
#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func
#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded
#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func
#define glthread_once_func libintl_once_func
#define glthread_once_singlethreaded libintl_once_singlethreaded
#define glthread_once_multithreaded libintl_once_multithreaded
-46
View File
@@ -1,46 +0,0 @@
/*
* copy.c --- copy UUIDs
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include "uuidP.h"
void uuid_copy(uuid_t dst, const uuid_t src)
{
unsigned char *cp1;
const unsigned char *cp2;
int i;
for (i=0, cp1 = dst, cp2 = src; i < 16; i++)
*cp1++ = *cp2++;
}
-10
View File
@@ -1,10 +0,0 @@
/*
* This file contains the path names for various directories as
* controlled by the configure script.
*/
/* Where to put the messages file for internationalization support */
#define LOCALEDIR "/usr/local/share/locale"
/* Where to find the mke2fs.conf and e2fsck.conf files */
#define ROOT_SYSCONFDIR "/usr/local/etc"
-690
View File
@@ -1,690 +0,0 @@
/*
* gen_uuid.c --- generate a DCE-compatible uuid
*
* Copyright (C) 1996, 1997, 1998, 1999 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
/*
* Force inclusion of SVID stuff since we need it if we're compiling in
* gcc-wall wall mode
*/
#define _SVID_SOURCE
#define _DEFAULT_SOURCE /* since glibc 2.20 _SVID_SOURCE is deprecated */
#include "config.h"
#ifdef _WIN32
#define _WIN32_WINNT 0x0500
#include <windows.h>
#define UUID MYUUID
#endif
#include <stdio.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#include <sys/stat.h>
#ifdef HAVE_SYS_FILE_H
#include <sys/file.h>
#endif
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_SYS_UN_H
#include <sys/un.h>
#endif
#ifdef HAVE_SYS_SOCKIO_H
#include <sys/sockio.h>
#endif
#ifdef HAVE_NET_IF_H
#include <net/if.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NET_IF_DL_H
#include <net/if_dl.h>
#endif
#if defined(__linux__) && defined(HAVE_SYS_SYSCALL_H)
#include <sys/syscall.h>
#endif
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
#include "uuidP.h"
#include "uuidd.h"
#ifdef HAVE_SRANDOM
#define srand(x) srandom(x)
#define rand() random()
#endif
#ifdef TLS
#define THREAD_LOCAL static TLS
#else
#define THREAD_LOCAL static
#endif
#if defined(__linux__) && defined(__NR_gettid) && defined(HAVE_JRAND48)
#define DO_JRAND_MIX
THREAD_LOCAL unsigned short jrand_seed[3];
#endif
#ifdef _WIN32
#ifndef USE_MINGW
static void gettimeofday (struct timeval *tv, void *dummy)
{
FILETIME ftime;
uint64_t n;
GetSystemTimeAsFileTime (&ftime);
n = (((uint64_t) ftime.dwHighDateTime << 32)
+ (uint64_t) ftime.dwLowDateTime);
if (n) {
n /= 10;
n -= ((369 * 365 + 89) * (uint64_t) 86400) * 1000000;
}
tv->tv_sec = n / 1000000;
tv->tv_usec = n % 1000000;
}
#endif
#endif
static int get_random_fd(void)
{
struct timeval tv;
static int fd = -2;
int i;
if (fd == -2) {
gettimeofday(&tv, 0);
#ifndef _WIN32
fd = open("/dev/urandom", O_RDONLY);
if (fd == -1)
fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
if (fd >= 0) {
i = fcntl(fd, F_GETFD);
if (i >= 0)
fcntl(fd, F_SETFD, i | FD_CLOEXEC);
}
#endif
srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec);
#ifdef DO_JRAND_MIX
jrand_seed[0] = getpid() ^ (tv.tv_sec & 0xFFFF);
jrand_seed[1] = getppid() ^ (tv.tv_usec & 0xFFFF);
jrand_seed[2] = (tv.tv_sec ^ tv.tv_usec) >> 16;
#endif
}
/* Crank the random number generator a few times */
gettimeofday(&tv, 0);
for (i = (tv.tv_sec ^ tv.tv_usec) & 0x1F; i > 0; i--)
rand();
return fd;
}
/*
* Generate a series of random bytes. Use /dev/urandom if possible,
* and if not, use srandom/random.
*/
static void get_random_bytes(void *buf, int nbytes)
{
int i, n = nbytes, fd = get_random_fd();
int lose_counter = 0;
unsigned char *cp = buf;
if (fd >= 0) {
while (n > 0) {
i = read(fd, cp, n);
if (i <= 0) {
if (lose_counter++ > 16)
break;
continue;
}
n -= i;
cp += i;
lose_counter = 0;
}
}
/*
* We do this all the time, but this is the only source of
* randomness if /dev/random/urandom is out to lunch.
*/
for (cp = buf, i = 0; i < nbytes; i++)
*cp++ ^= (rand() >> 7) & 0xFF;
#ifdef DO_JRAND_MIX
{
unsigned short tmp_seed[3];
memcpy(tmp_seed, jrand_seed, sizeof(tmp_seed));
jrand_seed[2] = jrand_seed[2] ^ syscall(__NR_gettid);
for (cp = buf, i = 0; i < nbytes; i++)
*cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF;
memcpy(jrand_seed, tmp_seed,
sizeof(jrand_seed) - sizeof(unsigned short));
}
#endif
return;
}
/*
* Get the ethernet hardware address, if we can find it...
*
* XXX for a windows version, probably should use GetAdaptersInfo:
* http://www.codeguru.com/cpp/i-n/network/networkinformation/article.php/c5451
* commenting out get_node_id just to get gen_uuid to compile under windows
* is not the right way to go!
*/
static int get_node_id(unsigned char *node_id)
{
#ifdef HAVE_NET_IF_H
int sd;
struct ifreq ifr, *ifrp;
struct ifconf ifc;
char buf[1024];
int n, i;
unsigned char *a;
#ifdef HAVE_NET_IF_DL_H
struct sockaddr_dl *sdlp;
#endif
/*
* BSD 4.4 defines the size of an ifreq to be
* max(sizeof(ifreq), sizeof(ifreq.ifr_name)+ifreq.ifr_addr.sa_len
* However, under earlier systems, sa_len isn't present, so the size is
* just sizeof(struct ifreq)
*/
#ifdef HAVE_SA_LEN
#ifndef max
#define max(a,b) ((a) > (b) ? (a) : (b))
#endif
#define ifreq_size(i) max(sizeof(struct ifreq),\
sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
#else
#define ifreq_size(i) sizeof(struct ifreq)
#endif /* HAVE_SA_LEN*/
sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
if (sd < 0) {
return -1;
}
memset(buf, 0, sizeof(buf));
ifc.ifc_len = sizeof(buf);
ifc.ifc_buf = buf;
if (ioctl (sd, SIOCGIFCONF, (char *)&ifc) < 0) {
close(sd);
return -1;
}
n = ifc.ifc_len;
for (i = 0; i < n; i+= ifreq_size(*ifrp) ) {
ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
#ifdef SIOCGIFHWADDR
if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
continue;
a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
#else
#ifdef SIOCGENADDR
if (ioctl(sd, SIOCGENADDR, &ifr) < 0)
continue;
a = (unsigned char *) ifr.ifr_enaddr;
#else
#ifdef HAVE_NET_IF_DL_H
sdlp = (struct sockaddr_dl *) &ifrp->ifr_addr;
if ((sdlp->sdl_family != AF_LINK) || (sdlp->sdl_alen != 6))
continue;
a = (unsigned char *) &sdlp->sdl_data[sdlp->sdl_nlen];
#else
/*
* XXX we don't have a way of getting the hardware
* address
*/
close(sd);
return 0;
#endif /* HAVE_NET_IF_DL_H */
#endif /* SIOCGENADDR */
#endif /* SIOCGIFHWADDR */
if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
continue;
if (node_id) {
memcpy(node_id, a, 6);
close(sd);
return 1;
}
}
close(sd);
#endif
return 0;
}
/* Assume that the gettimeofday() has microsecond granularity */
#define MAX_ADJUSTMENT 10
static int get_clock(uint32_t *clock_high, uint32_t *clock_low,
uint16_t *ret_clock_seq, int *num)
{
THREAD_LOCAL int adjustment = 0;
THREAD_LOCAL struct timeval last = {0, 0};
THREAD_LOCAL int state_fd = -2;
THREAD_LOCAL FILE *state_f;
THREAD_LOCAL uint16_t clock_seq;
struct timeval tv;
#ifndef _WIN32
struct flock fl;
#endif
uint64_t clock_reg;
mode_t save_umask;
int len;
if (state_fd == -2) {
save_umask = umask(0);
state_fd = open("/var/lib/libuuid/clock.txt",
O_RDWR|O_CREAT, 0660);
(void) umask(save_umask);
if (state_fd >= 0) {
state_f = fdopen(state_fd, "r+");
if (!state_f) {
close(state_fd);
state_fd = -1;
}
}
}
#ifndef _WIN32
fl.l_type = F_WRLCK;
fl.l_whence = SEEK_SET;
fl.l_start = 0;
fl.l_len = 0;
fl.l_pid = 0;
if (state_fd >= 0) {
rewind(state_f);
while (fcntl(state_fd, F_SETLKW, &fl) < 0) {
if ((errno == EAGAIN) || (errno == EINTR))
continue;
fclose(state_f);
state_fd = -1;
break;
}
}
#endif
if (state_fd >= 0) {
unsigned int cl;
unsigned long tv1, tv2;
int a;
if (fscanf(state_f, "clock: %04x tv: %lu %lu adj: %d\n",
&cl, &tv1, &tv2, &a) == 4) {
clock_seq = cl & 0x3FFF;
last.tv_sec = tv1;
last.tv_usec = tv2;
adjustment = a;
}
}
if ((last.tv_sec == 0) && (last.tv_usec == 0)) {
get_random_bytes(&clock_seq, sizeof(clock_seq));
clock_seq &= 0x3FFF;
gettimeofday(&last, 0);
last.tv_sec--;
}
try_again:
gettimeofday(&tv, 0);
if ((tv.tv_sec < last.tv_sec) ||
((tv.tv_sec == last.tv_sec) &&
(tv.tv_usec < last.tv_usec))) {
clock_seq = (clock_seq+1) & 0x3FFF;
adjustment = 0;
last = tv;
} else if ((tv.tv_sec == last.tv_sec) &&
(tv.tv_usec == last.tv_usec)) {
if (adjustment >= MAX_ADJUSTMENT)
goto try_again;
adjustment++;
} else {
adjustment = 0;
last = tv;
}
clock_reg = tv.tv_usec*10 + adjustment;
clock_reg += ((uint64_t) tv.tv_sec)*10000000;
clock_reg += (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
if (num && (*num > 1)) {
adjustment += *num - 1;
last.tv_usec += adjustment / 10;
adjustment = adjustment % 10;
last.tv_sec += last.tv_usec / 1000000;
last.tv_usec = last.tv_usec % 1000000;
}
if (state_fd > 0) {
rewind(state_f);
len = fprintf(state_f,
"clock: %04x tv: %016lu %08lu adj: %08d\n",
clock_seq, last.tv_sec, (long)last.tv_usec,
adjustment);
fflush(state_f);
if (ftruncate(state_fd, len) < 0) {
fprintf(state_f, " \n");
fflush(state_f);
}
rewind(state_f);
#ifndef _WIN32
fl.l_type = F_UNLCK;
if (fcntl(state_fd, F_SETLK, &fl) < 0) {
fclose(state_f);
state_fd = -1;
}
#endif
}
*clock_high = clock_reg >> 32;
*clock_low = clock_reg;
*ret_clock_seq = clock_seq;
return 0;
}
#if defined(USE_UUIDD) && defined(HAVE_SYS_UN_H)
static ssize_t read_all(int fd, char *buf, size_t count)
{
ssize_t ret;
ssize_t c = 0;
int tries = 0;
memset(buf, 0, count);
while (count > 0) {
ret = read(fd, buf, count);
if (ret <= 0) {
if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
(tries++ < 5))
continue;
return c ? c : -1;
}
if (ret > 0)
tries = 0;
count -= ret;
buf += ret;
c += ret;
}
return c;
}
/*
* Close all file descriptors
*/
static void close_all_fds(void)
{
int i, max;
#if defined(HAVE_SYSCONF) && defined(_SC_OPEN_MAX)
max = sysconf(_SC_OPEN_MAX);
#elif defined(HAVE_GETDTABLESIZE)
max = getdtablesize();
#elif defined(HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE)
struct rlimit rl;
getrlimit(RLIMIT_NOFILE, &rl);
max = rl.rlim_cur;
#else
max = OPEN_MAX;
#endif
for (i=0; i < max; i++) {
close(i);
if (i <= 2)
open("/dev/null", O_RDWR);
}
}
#endif /* defined(USE_UUIDD) && defined(HAVE_SYS_UN_H) */
#pragma GCC diagnostic push
#if !defined(USE_UUIDD) || !defined(HAVE_SYS_UN_H)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
/*
* Try using the uuidd daemon to generate the UUID
*
* Returns 0 on success, non-zero on failure.
*/
static int get_uuid_via_daemon(int op, uuid_t out, int *num)
{
#if defined(USE_UUIDD) && defined(HAVE_SYS_UN_H)
char op_buf[64];
int op_len;
int s;
ssize_t ret;
int32_t reply_len = 0, expected = 16;
struct sockaddr_un srv_addr;
struct stat st;
pid_t pid;
static const char *uuidd_path = UUIDD_PATH;
static int access_ret = -2;
static int start_attempts = 0;
if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
return -1;
srv_addr.sun_family = AF_UNIX;
strcpy(srv_addr.sun_path, UUIDD_SOCKET_PATH);
if (connect(s, (const struct sockaddr *) &srv_addr,
sizeof(struct sockaddr_un)) < 0) {
if (access_ret == -2)
access_ret = access(uuidd_path, X_OK);
if (access_ret == 0)
access_ret = stat(uuidd_path, &st);
if (access_ret == 0 && (st.st_mode & (S_ISUID | S_ISGID)) == 0)
access_ret = access(UUIDD_DIR, W_OK);
if (access_ret == 0 && start_attempts++ < 5) {
if ((pid = fork()) == 0) {
close_all_fds();
execl(uuidd_path, "uuidd", "-qT", "300",
(char *) NULL);
exit(1);
}
(void) waitpid(pid, 0, 0);
if (connect(s, (const struct sockaddr *) &srv_addr,
sizeof(struct sockaddr_un)) < 0)
goto fail;
} else
goto fail;
}
op_buf[0] = op;
op_len = 1;
if (op == UUIDD_OP_BULK_TIME_UUID) {
memcpy(op_buf+1, num, sizeof(*num));
op_len += sizeof(*num);
expected += sizeof(*num);
}
ret = write(s, op_buf, op_len);
if (ret < 1)
goto fail;
ret = read_all(s, (char *) &reply_len, sizeof(reply_len));
if (ret < 0)
goto fail;
if (reply_len != expected)
goto fail;
ret = read_all(s, op_buf, reply_len);
if (op == UUIDD_OP_BULK_TIME_UUID)
memcpy(op_buf+16, num, sizeof(int));
memcpy(out, op_buf, 16);
close(s);
return ((ret == expected) ? 0 : -1);
fail:
close(s);
#endif
return -1;
}
#pragma GCC diagnostic pop
void uuid__generate_time(uuid_t out, int *num)
{
static unsigned char node_id[6];
static int has_init = 0;
struct uuid uu;
uint32_t clock_mid;
if (!has_init) {
if (get_node_id(node_id) <= 0) {
get_random_bytes(node_id, 6);
/*
* Set multicast bit, to prevent conflicts
* with IEEE 802 addresses obtained from
* network cards
*/
node_id[0] |= 0x01;
}
has_init = 1;
}
get_clock(&clock_mid, &uu.time_low, &uu.clock_seq, num);
uu.clock_seq |= 0x8000;
uu.time_mid = (uint16_t) clock_mid;
uu.time_hi_and_version = ((clock_mid >> 16) & 0x0FFF) | 0x1000;
memcpy(uu.node, node_id, 6);
uuid_pack(&uu, out);
}
void uuid_generate_time(uuid_t out)
{
#ifdef TLS
THREAD_LOCAL int num = 0;
THREAD_LOCAL struct uuid uu;
THREAD_LOCAL time_t last_time = 0;
time_t now;
if (num > 0) {
now = time(0);
if (now > last_time+1)
num = 0;
}
if (num <= 0) {
num = 1000;
if (get_uuid_via_daemon(UUIDD_OP_BULK_TIME_UUID,
out, &num) == 0) {
last_time = time(0);
uuid_unpack(out, &uu);
num--;
return;
}
num = 0;
}
if (num > 0) {
uu.time_low++;
if (uu.time_low == 0) {
uu.time_mid++;
if (uu.time_mid == 0)
uu.time_hi_and_version++;
}
num--;
uuid_pack(&uu, out);
return;
}
#else
if (get_uuid_via_daemon(UUIDD_OP_TIME_UUID, out, 0) == 0)
return;
#endif
uuid__generate_time(out, 0);
}
void uuid__generate_random(uuid_t out, int *num)
{
uuid_t buf;
struct uuid uu;
int i, n;
if (!num || !*num)
n = 1;
else
n = *num;
for (i = 0; i < n; i++) {
get_random_bytes(buf, sizeof(buf));
uuid_unpack(buf, &uu);
uu.clock_seq = (uu.clock_seq & 0x3FFF) | 0x8000;
uu.time_hi_and_version = (uu.time_hi_and_version & 0x0FFF)
| 0x4000;
uuid_pack(&uu, out);
out += sizeof(uuid_t);
}
}
void uuid_generate_random(uuid_t out)
{
int num = 1;
/* No real reason to use the daemon for random uuid's -- yet */
uuid__generate_random(out, &num);
}
/*
* This is the generic front-end to uuid_generate_random and
* uuid_generate_time. It uses uuid_generate_random only if
* /dev/urandom is available, since otherwise we won't have
* high-quality randomness.
*/
void uuid_generate(uuid_t out)
{
if (get_random_fd() >= 0)
uuid_generate_random(out);
else
uuid_generate_time(out);
}
-93
View File
@@ -1,93 +0,0 @@
/*
* gen_uuid_nt.c -- Use NT api to generate uuid
*
* Written by Andrey Shedel (andreys@ns.cr.cyco.com)
*/
#include "config.h"
#include "uuidP.h"
#pragma warning(push,4)
#pragma comment(lib, "ntdll.lib")
//
// Here is a nice example why it's not a good idea
// to use native API in ordinary applications.
// Number of parameters in function below was changed from 3 to 4
// for NT5.
//
//
// NTSYSAPI
// NTSTATUS
// NTAPI
// NtAllocateUuids(
// OUT PULONG p1,
// OUT PULONG p2,
// OUT PULONG p3,
// OUT PUCHAR Seed // 6 bytes
// );
//
//
unsigned long
__stdcall
NtAllocateUuids(
void* p1, // 8 bytes
void* p2, // 4 bytes
void* p3 // 4 bytes
);
typedef
unsigned long
(__stdcall*
NtAllocateUuids_2000)(
void* p1, // 8 bytes
void* p2, // 4 bytes
void* p3, // 4 bytes
void* seed // 6 bytes
);
//
// Nice, but instead of including ntddk.h ot winnt.h
// I should define it here because they MISSED __stdcall in those headers.
//
__declspec(dllimport)
struct _TEB*
__stdcall
NtCurrentTeb(void);
//
// The only way to get version information from the system is to examine
// one stored in PEB. But it's pretty dangerouse because this value could
// be altered in image header.
//
static
int
Nt5(void)
{
//return NtCuttentTeb()->Peb->OSMajorVersion >= 5;
return (int)*(int*)((char*)(int)(*(int*)((char*)NtCurrentTeb() + 0x30)) + 0xA4) >= 5;
}
void uuid_generate(uuid_t out)
{
if(Nt5())
{
unsigned char seed[6];
((NtAllocateUuids_2000)NtAllocateUuids)(out, ((char*)out)+8, ((char*)out)+12, &seed[0] );
}
else
{
NtAllocateUuids(out, ((char*)out)+8, ((char*)out)+12);
}
}
-49
View File
@@ -1,49 +0,0 @@
/*
* isnull.c --- Check whether or not the UUID is null
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include "uuidP.h"
/* Returns 1 if the uuid is the NULL uuid */
int uuid_is_null(const uuid_t uu)
{
const unsigned char *cp;
int i;
for (i=0, cp = uu; i < 16; i++)
if (*cp++)
return 0;
return 1;
}
-70
View File
@@ -1,70 +0,0 @@
/*
* Internal routine for packing UUID's
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include <string.h>
#include "uuidP.h"
void uuid_pack(const struct uuid *uu, uuid_t ptr)
{
uint32_t tmp;
unsigned char *out = ptr;
tmp = uu->time_low;
out[3] = (unsigned char) tmp;
tmp >>= 8;
out[2] = (unsigned char) tmp;
tmp >>= 8;
out[1] = (unsigned char) tmp;
tmp >>= 8;
out[0] = (unsigned char) tmp;
tmp = uu->time_mid;
out[5] = (unsigned char) tmp;
tmp >>= 8;
out[4] = (unsigned char) tmp;
tmp = uu->time_hi_and_version;
out[7] = (unsigned char) tmp;
tmp >>= 8;
out[6] = (unsigned char) tmp;
tmp = uu->clock_seq;
out[9] = (unsigned char) tmp;
tmp >>= 8;
out[8] = (unsigned char) tmp;
memcpy(out+10, uu->node, 6);
}
-80
View File
@@ -1,80 +0,0 @@
/*
* parse.c --- UUID parsing
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "uuidP.h"
int uuid_parse(const char *in, uuid_t uu)
{
struct uuid uuid;
int i;
const char *cp;
char buf[3];
if (strlen(in) != 36)
return -1;
for (i=0, cp = in; i <= 36; i++,cp++) {
if ((i == 8) || (i == 13) || (i == 18) ||
(i == 23)) {
if (*cp == '-')
continue;
else
return -1;
}
if (i== 36)
if (*cp == 0)
continue;
if (!isxdigit(*cp))
return -1;
}
uuid.time_low = strtoul(in, NULL, 16);
uuid.time_mid = strtoul(in+9, NULL, 16);
uuid.time_hi_and_version = strtoul(in+14, NULL, 16);
uuid.clock_seq = strtoul(in+19, NULL, 16);
cp = in+24;
buf[2] = 0;
for (i=0; i < 6; i++) {
buf[0] = *cp++;
buf[1] = *cp++;
uuid.node[i] = strtoul(buf, NULL, 16);
}
uuid_pack(&uuid, uu);
return 0;
}
-64
View File
@@ -1,64 +0,0 @@
/*
* Internal routine for unpacking UUID
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include <string.h>
#include "uuidP.h"
void uuid_unpack(const uuid_t in, struct uuid *uu)
{
const uint8_t *ptr = in;
uint32_t tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
tmp = (tmp << 8) | *ptr++;
tmp = (tmp << 8) | *ptr++;
uu->time_low = tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
uu->time_mid = tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
uu->time_hi_and_version = tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
uu->clock_seq = tmp;
memcpy(uu->node, ptr, 6);
}
-77
View File
@@ -1,77 +0,0 @@
/*
* unparse.c -- convert a UUID to string
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#include <stdio.h>
#include "uuidP.h"
static const char *fmt_lower =
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x";
static const char *fmt_upper =
"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X";
#ifdef UUID_UNPARSE_DEFAULT_UPPER
#define FMT_DEFAULT fmt_upper
#else
#define FMT_DEFAULT fmt_lower
#endif
static void uuid_unparse_x(const uuid_t uu, char *out, const char *fmt)
{
struct uuid uuid;
uuid_unpack(uu, &uuid);
sprintf(out, fmt,
uuid.time_low, uuid.time_mid, uuid.time_hi_and_version,
uuid.clock_seq >> 8, uuid.clock_seq & 0xFF,
uuid.node[0], uuid.node[1], uuid.node[2],
uuid.node[3], uuid.node[4], uuid.node[5]);
}
void uuid_unparse_lower(const uuid_t uu, char *out)
{
uuid_unparse_x(uu, out, fmt_lower);
}
void uuid_unparse_upper(const uuid_t uu, char *out)
{
uuid_unparse_x(uu, out, fmt_upper);
}
void uuid_unparse(const uuid_t uu, char *out)
{
uuid_unparse_x(uu, out, FMT_DEFAULT);
}
-103
View File
@@ -1,103 +0,0 @@
/*
* Public include file for the UUID library
*
* Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#ifndef _UUID_UUID_H
#define _UUID_UUID_H
#include <sys/types.h>
#ifndef _WIN32
#include <sys/time.h>
#endif
#include <time.h>
typedef unsigned char uuid_t[16];
/* UUID Variant definitions */
#define UUID_VARIANT_NCS 0
#define UUID_VARIANT_DCE 1
#define UUID_VARIANT_MICROSOFT 2
#define UUID_VARIANT_OTHER 3
/* UUID Type definitions */
#define UUID_TYPE_DCE_TIME 1
#define UUID_TYPE_DCE_RANDOM 4
/* Allow UUID constants to be defined */
#ifdef __GNUC__
#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
#else
#define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \
static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* clear.c */
void uuid_clear(uuid_t uu);
/* compare.c */
int uuid_compare(const uuid_t uu1, const uuid_t uu2);
/* copy.c */
void uuid_copy(uuid_t dst, const uuid_t src);
/* gen_uuid.c */
void uuid_generate(uuid_t out);
void uuid_generate_random(uuid_t out);
void uuid_generate_time(uuid_t out);
/* isnull.c */
int uuid_is_null(const uuid_t uu);
/* parse.c */
int uuid_parse(const char *in, uuid_t uu);
/* unparse.c */
void uuid_unparse(const uuid_t uu, char *out);
void uuid_unparse_lower(const uuid_t uu, char *out);
void uuid_unparse_upper(const uuid_t uu, char *out);
/* uuid_time.c */
time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
int uuid_type(const uuid_t uu);
int uuid_variant(const uuid_t uu);
#ifdef __cplusplus
}
#endif
#endif /* _UUID_UUID_H */
-63
View File
@@ -1,63 +0,0 @@
/*
* uuid.h -- private header file for uuids
*
* Copyright (C) 1996, 1997 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#else
#include <uuid/uuid_types.h>
#endif
#include <sys/types.h>
#include "uuid.h"
/*
* Offset between 15-Oct-1582 and 1-Jan-70
*/
#define TIME_OFFSET_HIGH 0x01B21DD2
#define TIME_OFFSET_LOW 0x13814000
struct uuid {
uint32_t time_low;
uint16_t time_mid;
uint16_t time_hi_and_version;
uint16_t clock_seq;
uint8_t node[6];
};
/*
* prototypes
*/
void uuid_pack(const struct uuid *uu, uuid_t ptr);
void uuid_unpack(const uuid_t in, struct uuid *uu);
-173
View File
@@ -1,173 +0,0 @@
/*
* uuid_time.c --- Interpret the time field from a uuid. This program
* violates the UUID abstraction barrier by reaching into the guts
* of a UUID and interpreting it.
*
* Copyright (C) 1998, 1999 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#include "config.h"
#ifdef _WIN32
#define _WIN32_WINNT 0x0500
#include <windows.h>
#define UUID MYUUID
#endif
#include <stdio.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <stdlib.h>
#include <sys/types.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include <time.h>
#include "uuidP.h"
time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
{
struct timeval tv;
struct uuid uuid;
uint32_t high;
uint64_t clock_reg;
uuid_unpack(uu, &uuid);
high = uuid.time_mid | ((uuid.time_hi_and_version & 0xFFF) << 16);
clock_reg = uuid.time_low | ((uint64_t) high << 32);
clock_reg -= (((uint64_t) 0x01B21DD2) << 32) + 0x13814000;
tv.tv_sec = clock_reg / 10000000;
tv.tv_usec = (clock_reg % 10000000) / 10;
if (ret_tv)
*ret_tv = tv;
return tv.tv_sec;
}
int uuid_type(const uuid_t uu)
{
struct uuid uuid;
uuid_unpack(uu, &uuid);
return ((uuid.time_hi_and_version >> 12) & 0xF);
}
int uuid_variant(const uuid_t uu)
{
struct uuid uuid;
int var;
uuid_unpack(uu, &uuid);
var = uuid.clock_seq;
if ((var & 0x8000) == 0)
return UUID_VARIANT_NCS;
if ((var & 0x4000) == 0)
return UUID_VARIANT_DCE;
if ((var & 0x2000) == 0)
return UUID_VARIANT_MICROSOFT;
return UUID_VARIANT_OTHER;
}
#ifdef DEBUG
static const char *variant_string(int variant)
{
switch (variant) {
case UUID_VARIANT_NCS:
return "NCS";
case UUID_VARIANT_DCE:
return "DCE";
case UUID_VARIANT_MICROSOFT:
return "Microsoft";
default:
return "Other";
}
}
int
main(int argc, char **argv)
{
uuid_t buf;
time_t time_reg;
struct timeval tv;
int type, variant;
if (argc != 2) {
fprintf(stderr, "Usage: %s uuid\n", argv[0]);
exit(1);
}
if (uuid_parse(argv[1], buf)) {
fprintf(stderr, "Invalid UUID: %s\n", argv[1]);
exit(1);
}
variant = uuid_variant(buf);
type = uuid_type(buf);
time_reg = uuid_time(buf, &tv);
printf("UUID variant is %d (%s)\n", variant, variant_string(variant));
if (variant != UUID_VARIANT_DCE) {
printf("Warning: This program only knows how to interpret "
"DCE UUIDs.\n\tThe rest of the output is likely "
"to be incorrect!!\n");
}
printf("UUID type is %d", type);
switch (type) {
case 1:
printf(" (time based)\n");
break;
case 2:
printf(" (DCE)\n");
break;
case 3:
printf(" (name-based)\n");
break;
case 4:
printf(" (random)\n");
break;
default:
printf("\n");
}
if (type != 1) {
printf("Warning: not a time-based UUID, so UUID time "
"decoding will likely not work!\n");
}
printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, (long)tv.tv_usec,
ctime(&time_reg));
return 0;
}
#endif
-50
View File
@@ -1,50 +0,0 @@
/*
* If linux/types.h is already been included, assume it has defined
* everything we need. (cross fingers) Other header files may have
* also defined the types that we need.
*/
#if (!defined(_STDINT_H) && !defined(_UUID_STDINT_H))
#define _UUID_STDINT_H
typedef unsigned char uint8_t;
typedef signed char int8_t;
#if (4 == 8)
typedef int int64_t;
typedef unsigned int uint64_t;
#elif (8 == 8)
typedef long int64_t;
typedef unsigned long uint64_t;
#elif (8 == 8)
#if defined(__GNUC__)
typedef __signed__ long long int64_t;
#else
typedef signed long long int64_t;
#endif
typedef unsigned long long uint64_t;
#endif
#if (4 == 2)
typedef int int16_t;
typedef unsigned int uint16_t;
#elif (2 == 2)
typedef short int16_t;
typedef unsigned short uint16_t;
#else
?==error: undefined 16 bit type
#endif
#if (4 == 4)
typedef int int32_t;
typedef unsigned int uint32_t;
#elif (8 == 4)
typedef long int32_t;
typedef unsigned long uint32_t;
#elif (2 == 4)
typedef short int32_t;
typedef unsigned short uint32_t;
#else
?== error: undefined 32 bit type
#endif
#endif
-54
View File
@@ -1,54 +0,0 @@
/*
* Definitions used by the uuidd daemon
*
* Copyright (C) 2007 Theodore Ts'o.
*
* %Begin-Header%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, and the entire permission notice in its entirety,
* including the disclaimer of warranties.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
* WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
* %End-Header%
*/
#ifndef _UUID_UUIDD_H
#define _UUID_UUIDD_H
#define UUIDD_DIR "/var/lib/libuuid"
#define UUIDD_SOCKET_PATH UUIDD_DIR "/request"
#define UUIDD_PIDFILE_PATH UUIDD_DIR "/uuidd.pid"
#define UUIDD_PATH "/usr/sbin/uuidd"
#define UUIDD_OP_GETPID 0
#define UUIDD_OP_GET_MAXOP 1
#define UUIDD_OP_TIME_UUID 2
#define UUIDD_OP_RANDOM_UUID 3
#define UUIDD_OP_BULK_TIME_UUID 4
#define UUIDD_OP_BULK_RANDOM_UUID 5
#define UUIDD_MAX_OP UUIDD_OP_BULK_RANDOM_UUID
extern void uuid__generate_time(uuid_t out, int *num);
extern void uuid__generate_random(uuid_t out, int *num);
#endif /* _UUID_UUID_H */
-650
View File
@@ -1,650 +0,0 @@
/* $NoKeywords: $ */
/*
//
// Copyright (c) 1993-2011 Robert McNeel & Associates. All rights reserved.
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
// McNeel & Assoicates.
//
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
//
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
//
////////////////////////////////////////////////////////////////
*/
#include "../opennurbs_public_examples.h"
// This example demonstrates two things:
//
// 1) How to dig through a ON_Brep face and get at the surface
// and trimming information. See TraverseBrepFace() for
// details.
//
// 2) How to write an OpenNURBS B-rep. See MakeTwistedCube() for details.
void TraverseBrepFace(
const ON_Brep& brep,
int fi, // brep face index
ON_TextLog& error_log
)
{
if ( fi < 0 || fi >= brep.m_F.Count() )
{
error_log.Print("Invalid face index\n");
return;
}
const ON_BrepFace& face = brep.m_F[fi];
// pSrf = underlying untrimmed surface
const ON_Surface* pSrf = NULL;
if ( face.m_si < 0 || face.m_si >= brep.m_S.Count() )
error_log.Print("ERROR: invalid brep.m_F[%d].m_si\n", fi );
else {
pSrf = brep.m_S[face.m_si];
if ( !pSrf )
error_log.Print("ERROR: invalid brep.m_S[%d] is NULL\n", face.m_si );
}
// The face is trimmed with one or more trimming loops.
//
// All the 2d trimming curves are oriented so that the
// active region of the trimmed surface lies to the left
// of the 2d trimming curve.
//
// If face.m_bRev is true, the orientations of the face in
// the b-rep is opposited the natural parameteric orientation
// of the surface.
// loop_count = number of trimming loops on this face (>=1)
const int loop_count = face.m_li.Count();
int fli; // face's loop index
for ( fli = 0; fli < loop_count; fli++ ) {
const int li = face.m_li[fli]; // li = brep loop index
const ON_BrepLoop& loop = brep.m_L[li];
// loop_edge_count = number of trimming edges in this loop
const int loop_trim_count = loop.m_ti.Count();
int lti; // loop's trim index
for ( lti = 0; lti < loop_trim_count; lti++ ) {
const int ti = loop.m_ti[lti]; // ti = brep trim index
const ON_BrepTrim& trim = brep.m_T[ti];
//////////////////////////////////////////////////////
// 2d trimming information
//
// Each trim has a 2d parameter space curve.
const ON_Curve* p2dCurve = NULL;
const int c2i = trim.m_c2i; // c2i = brep 2d curve index
if ( c2i < 0 || c2i >= brep.m_C2.Count() ) {
error_log.Print("ERROR: invalid brep.m_T[%d].m_c2i\n", ti );
}
else {
p2dCurve = brep.m_C2[c2i];
if ( !p2dCurve )
error_log.Print("ERROR: invalid brep.m_C2[%d] is NULL\n", c2i );
}
//////////////////////////////////////////////////////
// topology and 3d geometry information
//
// Trim starts at v0 and ends at v1. When the trim
// is a loop or on a singular surface side, v0i and v1i
// will be equal.
//const int v0i = trim.m_vi[0]; // v0i = brep vertex index
//const int v1i = trim.m_vi[1]; // v1i = brep vertex index
//const ON_BrepVertex& v0 = brep.m_V[v0i];
//const ON_BrepVertex& v1 = brep.m_V[v1i];
// The vX.m_ei[] array contains the brep.m_E[] indices of
// the edges that begin or end at vX.
const int ei = trim.m_ei;
if ( ei == -1 ) {
// This trim lies on a portion of a singular surface side.
// The vertex indices are still valid and will be equal.
}
else {
// If trim.m_bRev3d is false, the orientations of the 3d edge
// and the 3d curve obtained by composing the surface and 2d
// curve agree.
//
// If trim.m_bRev3d is true, the orientations of the 3d edge
// and the 3d curve obtained by composing the surface and 2d
// curve are opposite.
const ON_BrepEdge& edge = brep.m_E[ei];
const int c3i = edge.m_c3i;
const ON_Curve* p3dCurve = NULL;
if ( c3i < 0 || c3i >= brep.m_C3.Count() ) {
error_log.Print("ERROR: invalid brep.m_E[%d].m_c3i\n", ei );
}
else {
p3dCurve = brep.m_C3[c3i];
if ( !p3dCurve )
error_log.Print("ERROR: invalid brep.m_C3[%d] is NULL\n", c3i );
}
// The edge.m_ti[] array contains the brep.m_T[] indices
// for the other trims that are joined to this edge.
}
}
}
}
// symbolic vertex index constants to make code more readable
static const int
A = 0,
B = 1,
C = 2,
D = 3,
E = 4,
F = 5,
G = 6,
H = 7;
// symbolic edge index constants to make code more readable
static const int
AB = 0,
BC = 1,
CD = 2,
AD = 3,
EF = 4,
FG = 5,
GH = 6,
EH = 7,
AE = 8,
BF = 9,
CG = 10,
DH = 11;
// symbolic face index constants to make code more readable
static const int
ABCD = 0,
BCGF = 1,
CDHG = 2,
ADHE = 3,
ABFE = 4,
EFGH = 5;
static ON_Curve* TwistedCubeTrimmingCurve(
const ON_Surface& s,
int side // 0 = SW to SE
// 1 = SE to NE
// 2 = NE to NW
// 3 = NW to SW
)
{
// A trimming curve is a 2d curve whose image lies in the surface's domain.
// The "active" portion of the surface is to the left of the trimming curve.
// An outer trimming loop consists of a simple closed curve running
// counter-clockwise around the region it trims.
ON_2dPoint from, to;
double u0, u1, v0, v1;
s.GetDomain( 0, &u0, &u1 );
s.GetDomain( 1, &v0, &v1 );
switch ( side ) {
case 0: // SW to SE
from.x = u0; from.y = v0;
to.x = u1; to.y = v0;
break;
case 1: // SE to NE
from.x = u1; from.y = v0;
to.x = u1; to.y = v1;
break;
case 2: // NE to NW
from.x = u1; from.y = v1;
to.x = u0; to.y = v1;
break;
case 3: // NW to SW
from.x = u0; from.y = v1;
to.x = u0; to.y = v0;
break;
default:
return 0;
}
ON_Curve* c2d = new ON_LineCurve( from, to );
c2d->SetDomain(0.0,1.0);
return c2d;
}
static ON_Curve* TwistedCubeEdgeCurve( const ON_3dPoint& from, const ON_3dPoint& to )
{
// creates a 3d line segment to be used as a 3d curve in a ON_Brep
ON_Curve* c3d = new ON_LineCurve( from, to );
c3d->SetDomain( 0.0, 1.0 );
return c3d;
}
static ON_Surface* TwistedCubeSideSurface(
const ON_3dPoint& SW, const ON_3dPoint& SE,
const ON_3dPoint& NE, const ON_3dPoint& NW
)
{
ON_NurbsSurface* pNurbsSurface = new ON_NurbsSurface(
3, // dimension
false, // not rational
2, // "u" order
2, // "v" order
2, // number of control vertices in "u" dir
2 // number of control vertices in "v" dir
);
// corner CVs in counter clockwise order starting in the south west
pNurbsSurface->SetCV( 0,0, SW );
pNurbsSurface->SetCV( 1,0, SE );
pNurbsSurface->SetCV( 1,1, NE );
pNurbsSurface->SetCV( 0,1, NW );
// "u" knots
pNurbsSurface->SetKnot( 0,0, 0.0 );
pNurbsSurface->SetKnot( 0,1, 1.0 );
// "v" knots
pNurbsSurface->SetKnot( 1,0, 0.0 );
pNurbsSurface->SetKnot( 1,1, 1.0 );
return pNurbsSurface;
}
static void MakeTwistedCubeEdge( ON_Brep& brep,
int vi0, // index of start vertex
int vi1, // index of end vertex
int c3i // index of 3d curve
)
{
ON_BrepVertex& v0 = brep.m_V[vi0];
ON_BrepVertex& v1 = brep.m_V[vi1];
ON_BrepEdge& edge = brep.NewEdge(v0,v1,c3i);
edge.m_tolerance = 0.0; // this simple example is exact - for models with
// non-exact data, set tolerance as explained in
// definition of ON_BrepEdge.
}
static void MakeTwistedCubeEdges( ON_Brep& brep )
{
// In this simple example, the edge indices exactly match the 3d
// curve indices. In general,the correspondence between edge and
// curve indices can be arbitrary. It is permitted for multiple
// edges to use different portions of the same 3d curve. The
// orientation of the edge always agrees with the natural
// parametric orientation of the curve.
// edge that runs from A to B
MakeTwistedCubeEdge( brep, A, B, AB );
// edge that runs from B to C
MakeTwistedCubeEdge( brep, B, C, BC );
// edge that runs from C to D
MakeTwistedCubeEdge( brep, C, D, CD );
// edge that runs from A to D
MakeTwistedCubeEdge( brep, A, D, AD );
// edge that runs from E to F
MakeTwistedCubeEdge( brep, E, F, EF );
// edge that runs from F to G
MakeTwistedCubeEdge( brep, F, G, FG );
// edge that runs from G to H
MakeTwistedCubeEdge( brep, G, H, GH );
// edge that runs from E to H
MakeTwistedCubeEdge( brep, E, H, EH );
// edge that runs from A to E
MakeTwistedCubeEdge( brep, A, E, AE );
// edge that runs from B to F
MakeTwistedCubeEdge( brep, B, F, BF );
// edge that runs from C to G
MakeTwistedCubeEdge( brep, C, G, CG );
// edge that runs from D to H
MakeTwistedCubeEdge( brep, D, H, DH );
}
static int MakeTwistedCubeTrimmingLoop( ON_Brep& brep, // returns index of loop
ON_BrepFace& face, // face loop is on
//int vSWi, int vSEi, int vNEi, int vNWi, // Indices of corner vertices listed in SW,SE,NW,NE order
int eSi, // index of edge on south side of surface
int eS_dir, // orientation of edge with respect to surface trim
int eEi, // index of edge on south side of surface
int eE_dir, // orientation of edge with respect to surface trim
int eNi, // index of edge on south side of surface
int eN_dir, // orientation of edge with respect to surface trim
int eWi, // index of edge on south side of surface
int eW_dir // orientation of edge with respect to surface trim
)
{
const ON_Surface& srf = *brep.m_S[face.m_si];
ON_BrepLoop& loop = brep.NewLoop( ON_BrepLoop::outer, face );
// Create trimming curves running counter clockwise around the surface's domain.
// Start at the south side
ON_Curve* c2;
int c2i, ei=0, bRev3d=0;
ON_2dPoint q;
ON_Surface::ISO iso = ON_Surface::not_iso;
for ( int side = 0; side < 4; side++ ) {
// side: 0=south, 1=east, 2=north, 3=west
c2 = TwistedCubeTrimmingCurve( srf, side );
c2i = brep.m_C2.Count();
brep.m_C2.Append(c2);
switch ( side ) {
case 0: // south
ei = eSi;
bRev3d = (eS_dir == -1);
iso = ON_Surface::S_iso;
break;
case 1: // east
ei = eEi;
bRev3d = (eE_dir == -1);
iso = ON_Surface::E_iso;
break;
case 2: // north
ei = eNi;
bRev3d = (eN_dir == -1);
iso = ON_Surface::N_iso;
break;
case 3: // west
ei = eWi;
bRev3d = (eW_dir == -1);
iso = ON_Surface::W_iso;
break;
}
ON_BrepTrim& trim = brep.NewTrim( brep.m_E[ei], bRev3d, loop, c2i );
q = c2->PointAtStart();
//trim.m_P[0] = srf.PointAt( q.x, q.y );
q = c2->PointAtEnd();
//trim.m_P[1] = srf.PointAt( q.x, q.y );
trim.m_iso = iso;
trim.m_type = ON_BrepTrim::mated; // This b-rep is closed, so all trims
// have mates.
trim.m_tolerance[0] = 0.0; // This simple example is exact - for models with
trim.m_tolerance[1] = 0.0; // non-exact data, set tolerance as explained in
// definition of ON_BrepTrim.
}
return loop.m_loop_index;
}
static void MakeTwistedCubeFace( ON_Brep& brep,
int si, // index of 3d surface
int s_dir, // orientation of surface with respect to brep
//int vSWi, int vSEi, int vNEi, int vNWi, // Indices of corner vertices listed in SW,SE,NW,NE order
int eSi, // index of edge on south side of surface
int eS_dir, // orientation of edge with respect to surface trim
int eEi, // index of edge on south side of surface
int eE_dir, // orientation of edge with respect to surface trim
int eNi, // index of edge on south side of surface
int eN_dir, // orientation of edge with respect to surface trim
int eWi, // index of edge on south side of surface
int eW_dir // orientation of edge with respect to surface trim
)
{
ON_BrepFace& face = brep.NewFace(si);
MakeTwistedCubeTrimmingLoop( brep, face,
//vSWi, vSEi, vNEi, vNWi,
eSi, eS_dir,
eEi, eE_dir,
eNi, eN_dir,
eWi, eW_dir
);
face.m_bRev = (s_dir == -1);
}
static void MakeTwistedCubeFaces( ON_Brep& brep )
{
MakeTwistedCubeFace( brep,
ABCD, // Index of surface ABCD
+1, // orientation of surface with respect to brep
//A, B, C, D, // Indices of vertices listed in SW,SE,NW,NE order
AB,+1, // South side edge and its orientation with respect to
// to the trimming curve. (AB)
BC,+1, // South side edge and its orientation with respect to
// to the trimming curve. (BC)
CD,+1, // South side edge and its orientation with respect to
// to the trimming curve (CD)
AD,-1 // South side edge and its orientation with respect to
// to the trimming curve (AD)
);
MakeTwistedCubeFace( brep,
BCGF, // Index of surface BCGF
-1, // orientation of surface with respect to brep
//B, C, G, F, // Indices of vertices listed in SW,SE,NW,NE order
BC,+1, // South side edge and its orientation with respect to
// to the trimming curve. (BC)
CG,+1, // South side edge and its orientation with respect to
// to the trimming curve. (CG)
FG,-1, // South side edge and its orientation with respect to
// to the trimming curve (FG)
BF,-1 // South side edge and its orientation with respect to
// to the trimming curve (BF)
);
MakeTwistedCubeFace( brep,
CDHG, // Index of surface CDHG
-1, // orientation of surface with respect to brep
//C, D, H, G, // Indices of vertices listed in SW,SE,NW,NE order
CD,+1, // South side edge and its orientation with respect to
// to the trimming curve. (CD)
DH,+1, // South side edge and its orientation with respect to
// to the trimming curve. (DH)
GH,-1, // South side edge and its orientation with respect to
// to the trimming curve (GH)
CG,-1 // South side edge and its orientation with respect to
// to the trimming curve (CG)
);
MakeTwistedCubeFace( brep,
ADHE, // Index of surface ADHE
+1, // orientation of surface with respect to brep
//A, D, H, E, // Indices of vertices listed in SW,SE,NW,NE order
AD,+1, // South side edge and its orientation with respect to
// to the trimming curve. (AD)
DH,+1, // South side edge and its orientation with respect to
// to the trimming curve. (DH)
EH,-1, // South side edge and its orientation with respect to
// to the trimming curve (EH)
AE,-1 // South side edge and its orientation with respect to
// to the trimming curve (AE)
);
MakeTwistedCubeFace( brep,
ABFE, // Index of surface ABFE
-1, // orientation of surface with respect to brep
//A, B, F, E, // Indices of vertices listed in SW,SE,NW,NE order
AB,+1, // South side edge and its orientation with respect to
// to the trimming curve. (AB)
BF,+1, // South side edge and its orientation with respect to
// to the trimming curve. (BF)
EF,-1, // South side edge and its orientation with respect to
// to the trimming curve (EF)
AE,-1 // South side edge and its orientation with respect to
// to the trimming curve (AE)
);
MakeTwistedCubeFace( brep,
EFGH, // Index of surface EFGH
-1, // orientation of surface with respect to brep
//E, F, G, H, // Indices of vertices listed in SW,SE,NW,NE order
EF,+1, // South side edge and its orientation with respect to
// to the trimming curve. (EF)
FG,+1, // South side edge and its orientation with respect to
// to the trimming curve. (FG)
GH,+1, // South side edge and its orientation with respect to
// to the trimming curve (GH)
EH,-1 // South side edge and its orientation with respect to
// to the trimming curve (EH)
);
}
static ON_Brep* MakeTwistedCube( ON_TextLog& error_log )
{
// This example demonstrates how to construct a ON_Brep
// with the topology shown below.
//
//
// H-------e6-------G
// / /|
// / | / |
// / e7 / e5
// / | / |
// / e10 |
// / | / |
// e11 E- - e4- -/- - - F
// / / /
// / / / /
// D---------e2-----C e9
// | / | /
// | e8 | /
// e3 / e1 /
// | | /
// | / | /
// | |/
// A-------e0-------B
//
//
ON_3dPoint point[8] = {
ON_3dPoint( 0.0, 0.0, 0.0 ), // point A = geometry for vertex 0
ON_3dPoint( 10.0, 0.0, 0.0 ), // point B = geometry for vertex 1
ON_3dPoint( 10.0, 8.0, -1.0 ), // point C = geometry for vertex 2
ON_3dPoint( 0.0, 6.0, 0.0 ), // point D = geometry for vertex 3
ON_3dPoint( 1.0, 2.0, 11.0 ), // point E = geometry for vertex 4
ON_3dPoint( 10.0, 0.0, 12.0 ), // point F = geometry for vertex 5
ON_3dPoint( 10.0, 7.0, 13.0 ), // point G = geometry for vertex 6
ON_3dPoint( 0.0, 6.0, 12.0 ) // point H = geometry for vertex 7
};
ON_Brep* brep = new ON_Brep();
// create eight vertices located at the eight points
int vi;
for ( vi = 0; vi < 8; vi++ ) {
ON_BrepVertex& v = brep->NewVertex(point[vi]);
v.m_tolerance = 0.0; // this simple example is exact - for models with
// non-exact data, set tolerance as explained in
// definition of ON_BrepVertex.
}
// Create 3d curve geometry - the orientations are arbitrarily chosen
// so that the end vertices are in alphabetical order.
brep->m_C3.Append( TwistedCubeEdgeCurve( point[A], point[B] ) ); // line AB
brep->m_C3.Append( TwistedCubeEdgeCurve( point[B], point[C] ) ); // line BC
brep->m_C3.Append( TwistedCubeEdgeCurve( point[C], point[D] ) ); // line CD
brep->m_C3.Append( TwistedCubeEdgeCurve( point[A], point[D] ) ); // line AD
brep->m_C3.Append( TwistedCubeEdgeCurve( point[E], point[F] ) ); // line EF
brep->m_C3.Append( TwistedCubeEdgeCurve( point[F], point[G] ) ); // line FG
brep->m_C3.Append( TwistedCubeEdgeCurve( point[G], point[H] ) ); // line GH
brep->m_C3.Append( TwistedCubeEdgeCurve( point[E], point[H] ) ); // line EH
brep->m_C3.Append( TwistedCubeEdgeCurve( point[A], point[E] ) ); // line AE
brep->m_C3.Append( TwistedCubeEdgeCurve( point[B], point[F] ) ); // line BF
brep->m_C3.Append( TwistedCubeEdgeCurve( point[C], point[G] ) ); // line CG
brep->m_C3.Append( TwistedCubeEdgeCurve( point[D], point[H] ) ); // line DH
// Create the 12 edges that connect the corners of the cube.
MakeTwistedCubeEdges( *brep );
// Create 3d surface geometry - the orientations are arbitrarily chosen so
// that some normals point into the cube and others point out of the cube.
brep->m_S.Append( TwistedCubeSideSurface( point[A], point[B], point[C], point[D] ) ); // ABCD
brep->m_S.Append( TwistedCubeSideSurface( point[B], point[C], point[G], point[F] ) ); // BCGF
brep->m_S.Append( TwistedCubeSideSurface( point[C], point[D], point[H], point[G] ) ); // CDHG
brep->m_S.Append( TwistedCubeSideSurface( point[A], point[D], point[H], point[E] ) ); // ADHE
brep->m_S.Append( TwistedCubeSideSurface( point[A], point[B], point[F], point[E] ) ); // ABFE
brep->m_S.Append( TwistedCubeSideSurface( point[E], point[F], point[G], point[H] ) ); // EFGH
// Create the CRhinoBrepFaces
MakeTwistedCubeFaces( *brep );
if ( !brep->IsValid() )
{
error_log.Print("Twisted cube b-rep is not valid.\n");
delete brep;
brep = NULL;
}
//ON_BOOL32 bIsManifold;
//ON_BOOL32 bHasBoundary;
//ON_BOOL32 b = brep->IsManifold( &bIsManifold,&bHasBoundary );
return brep;
}
//int main( int argc, const char *argv[] )
int main()
{
ON::Begin();
ON_TextLog error_log;
// Before working through this example, you should understand
// the example_write.cpp example.
ON_Brep* brep = MakeTwistedCube(error_log);
if ( !brep )
return 1;
ONX_Model model;
// OPTIONAL - change values from defaults
model.m_properties.m_Notes.m_notes = "File created by OpenNURBS example_brep.cpp";
model.m_properties.m_Notes.m_bVisible = true;
model.m_properties.m_Application.m_application_name
= "OpenNURBS example_brep.cpp";
model.m_properties.m_Application.m_application_URL
= "http://www.opennurbs.org";
model.m_properties.m_Application.m_application_details
= "OpenNURBS example showing how to create and write a simple b-rep";
model.AddDefaultLayer(L"brep", ON_Color::UnsetColor);
ON_3dmObjectAttributes attributes;
attributes.m_name = "Twisted b-rep";
bool bResolveIdAndNameConflicts = true;
model.AddModelGeometryComponent(brep, &attributes, bResolveIdAndNameConflicts);
const int version = 0; // version will be ON_BinaryArchive::CurrentArchiveVersion()
const char* filename = "my_brep.3dm";
model.m_sStartSectionComments = __FILE__ " example_brep.cpp " __DATE__;
bool rc = model.Write( filename,
version,
&error_log
);
if (rc)
printf("Wrote %s.\n",filename);
else
printf("Errors writing %s.\n",filename);
ON::End();
return 0;
}
-154
View File
@@ -1,154 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{765B902B-4562-4035-8BBF-EBAB2A9602A3}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_brep</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="example_brep.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-25
View File
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{8b373312-8278-4eae-b021-21e29ac358ca}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_brep.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,287 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D41D1AE1EE090BE00EB94A6 /* example_brep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1AD1EE090BE00EB94A6 /* example_brep.cpp */; };
1D41D1C61EE09FDE00EB94A6 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1C51EE09FDE00EB94A6 /* libopennurbs_public.a */; };
1D41D1CA1EE09FEB00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1C91EE09FEB00EB94A6 /* libopennurbs_public_zlib.a */; };
1D77E38D1EE20FC100994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E38C1EE20FC100994B0B /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D41D17B1EE08F2B00EB94A6 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D41D17D1EE08F2B00EB94A6 /* example_brep */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_brep; sourceTree = BUILT_PRODUCTS_DIR; };
1D41D1AD1EE090BE00EB94A6 /* example_brep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_brep.cpp; sourceTree = "<group>"; };
1D41D1C51EE09FDE00EB94A6 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = ../build/Debug/libopennurbs_public.a; sourceTree = "<group>"; };
1D41D1C91EE09FEB00EB94A6 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
1D77E38C1EE20FC100994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D41D17A1EE08F2B00EB94A6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E38D1EE20FC100994B0B /* Cocoa.framework in Frameworks */,
1D41D1CA1EE09FEB00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */,
1D41D1C61EE09FDE00EB94A6 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D41D1741EE08F2B00EB94A6 = {
isa = PBXGroup;
children = (
1D41D1AD1EE090BE00EB94A6 /* example_brep.cpp */,
1D41D17E1EE08F2B00EB94A6 /* Products */,
1D41D1C41EE09FDD00EB94A6 /* Frameworks */,
);
sourceTree = "<group>";
};
1D41D17E1EE08F2B00EB94A6 /* Products */ = {
isa = PBXGroup;
children = (
1D41D17D1EE08F2B00EB94A6 /* example_brep */,
);
name = Products;
sourceTree = "<group>";
};
1D41D1C41EE09FDD00EB94A6 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E38C1EE20FC100994B0B /* Cocoa.framework */,
1D41D1C91EE09FEB00EB94A6 /* libopennurbs_public_zlib.a */,
1D41D1C51EE09FDE00EB94A6 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D41D17C1EE08F2B00EB94A6 /* example_brep */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D41D1841EE08F2B00EB94A6 /* Build configuration list for PBXNativeTarget "example_brep" */;
buildPhases = (
1D41D1791EE08F2B00EB94A6 /* Sources */,
1D41D17A1EE08F2B00EB94A6 /* Frameworks */,
1D41D17B1EE08F2B00EB94A6 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_brep;
productName = example_brep;
productReference = 1D41D17D1EE08F2B00EB94A6 /* example_brep */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D41D1751EE08F2B00EB94A6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D41D17C1EE08F2B00EB94A6 = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D41D1781EE08F2B00EB94A6 /* Build configuration list for PBXProject "example_brep" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 1D41D1741EE08F2B00EB94A6;
productRefGroup = 1D41D17E1EE08F2B00EB94A6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D41D17C1EE08F2B00EB94A6 /* example_brep */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D41D1791EE08F2B00EB94A6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D41D1AE1EE090BE00EB94A6 /* example_brep.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D41D1821EE08F2B00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D41D1831EE08F2B00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D41D1851EE08F2B00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D41D1861EE08F2B00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D41D1781EE08F2B00EB94A6 /* Build configuration list for PBXProject "example_brep" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1821EE08F2B00EB94A6 /* Debug */,
1D41D1831EE08F2B00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D41D1841EE08F2B00EB94A6 /* Build configuration list for PBXNativeTarget "example_brep" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1851EE08F2B00EB94A6 /* Debug */,
1D41D1861EE08F2B00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D41D1751EE08F2B00EB94A6 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_brep.xcodeproj">
</FileRef>
</Workspace>
-203
View File
@@ -1,203 +0,0 @@
#include "../opennurbs_public_examples.h"
static void Usage(const char* exe_name)
{
if (nullptr == exe_name)
exe_name = "example_convert";
printf(
"Usage: %s input.3dm output.3dm [--version=0] [--log=logfile_path]\n"
" version is one of 1, 2, 3, 4, 5, 50, 60.\n"
" Default version is %d.\n"
" logfile_path is the path to the text log representing the file that was read.\n"
"\n",
exe_name,
ON_BinaryArchive::CurrentArchiveVersion()
);
printf(
"%s reads a 3dm file and writes a new 3dm file using the specified file version.\n"
"If the optional --version argument is not specified, a version %d file is written.\n"
"If an error or warning occurs during conversion, this program ends with exit code 1.\n"
"Successful conversion ends with exit code 0.\n\n",
exe_name,
ON_BinaryArchive::CurrentArchiveVersion()
);
}
static bool HasErrorsOrWarnings(ON_TextLog* log, const char* operation)
{
ON_String msg;
if (ON_GetErrorCount() > 0)
{
msg.Format("%d errors: %s\n", ON_GetErrorCount(), operation);
log->Print(msg);
return true;
}
if (ON_GetWarningCount() > 0)
{
msg.Format("%d warnings: %s\n", ON_GetErrorCount(), operation);
log->Print(msg);
return true;
}
return false;
}
int main(int argc, const char *argv[])
{
// If you are using OpenNURBS as a Windows DLL, then you MUST use
// ON::OpenFile() to open the file. If you are not using OpenNURBS
// as a Windows DLL, then you may use either ON::OpenFile() or fopen()
// to open the file.
int argi;
if (argc < 2)
{
Usage(argv[0]);
return 0;
}
// Call once in your application to initialze opennurbs library
ON::Begin();
int version = 0; // write current Rhino file
// default dump is to stdout
ON_TextLog dump_to_stdout;
ON_TextLog* dump = &dump_to_stdout;
ON_String input;
ON_String output;
ON_String logfile;
for (argi = 1; argi < argc; argi++)
{
ON_String arg(argv[argi]);
if (arg.Left(10).CompareOrdinal("--version=", true) == 0)
{
arg = arg.Mid(10);
version = atoi(arg);
continue;
}
if (arg.Left(2).CompareOrdinal("/v", true) == 0 || arg.Left(2).CompareOrdinal("-v", true) == 0)
{
argi++;
const char* sversion = argv[argi];
version = atoi(sversion);
continue;
}
if (arg.Left(6).CompareOrdinal("--log=", true) == 0)
{
arg = arg.Mid(6);
logfile = arg;
continue;
}
if (input.IsEmpty())
{
input = arg;
if (false == ON_FileStream::Is3dmFile(input, true))
{
input = ON_String::EmptyString;
break;
}
continue;
}
if (output.IsEmpty())
{
output = arg;
continue;
}
// Invalid command line parameter
input = ON_String::EmptyString;
output = ON_String::EmptyString;
break;
}
if (input.IsEmpty() || output.IsEmpty())
{
Usage(argv[0]);
return 1;
}
dump->Print("\nOpenNURBS Archive File: %s\n", static_cast<const char*>(input) );
// open file containing opennurbs archive
FILE* archive_fp = ON_FileStream::Open3dmToRead(input);
if (nullptr == archive_fp)
{
dump->Print(" Unable to open file.\n");
return 1;
}
dump->PushIndent();
// create achive object from file pointer
ON_BinaryFile archive(ON::archive_mode::read3dm, archive_fp);
// read the contents of the file into "model"
ONX_Model model;
bool rc = model.Read(archive, dump);
// close the file
ON::CloseFile(archive_fp);
if (false == rc)
{
dump->Print("Errors during reading.\n");
return 1;
}
if (HasErrorsOrWarnings(dump, "reading input file"))
return 1;
// print diagnostic
dump->Print("Successfully read.\n");
// Write file
model.m_sStartSectionComments = "Converted by example_convert.exe";
bool outrc = model.Write(output, version, dump);
if (HasErrorsOrWarnings(dump, "writing output file\n"))
return 1;
if (outrc)
{
dump->Print("model.Write(%s) succeeded.\n", static_cast<const char*>(output));
ONX_Model model2;
if (model2.Read(output, dump))
{
dump->Print("model2.Read(%s) succeeded.\n", static_cast<const char*>(output));
if (HasErrorsOrWarnings(dump, "verifying output file"))
return 1;
if (!logfile.IsEmpty())
{
FILE* fp = ON::OpenFile(logfile, "w");
ON_TextLog log(fp);
model2.Dump(log);
ON::CloseFile(fp);
}
}
else
{
dump->Print("model2.Read(%s) failed.\n", static_cast<const char*>(output));
}
dump->PopIndent();
}
// OPTIONAL: Call just before your application exits to clean
// up opennurbs class definition information.
// Opennurbs will not work correctly after ON::End()
// is called.
ON::End();
return 0;
}
-158
View File
@@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{15C98F21-2AC9-44C8-8752-25DAFA1C739F}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_convert</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="example_convert.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{4f612efa-17f1-4928-b55b-470df7aa7d60}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_convert.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,274 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D41D1B01EE090EF00EB94A6 /* example_convert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1AF1EE090EF00EB94A6 /* example_convert.cpp */; };
1D41D1CD1EE09FFB00EB94A6 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */; };
1D41D1CF1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */; };
1D41D1D11EE0A00500EB94A6 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */; };
1D77E38F1EE20FD000994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E38E1EE20FD000994B0B /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D41D18E1EE08F4D00EB94A6 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D41D1901EE08F4D00EB94A6 /* example_convert */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_convert; sourceTree = BUILT_PRODUCTS_DIR; };
1D41D1AF1EE090EF00EB94A6 /* example_convert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_convert.cpp; sourceTree = "<group>"; };
1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = ../build/Debug/libopennurbs_public.a; sourceTree = "<group>"; };
1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_freetype.a; path = ../freetype263/build/Debug/libopennurbs_public_freetype.a; sourceTree = "<group>"; };
1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
1D77E38E1EE20FD000994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D41D18D1EE08F4D00EB94A6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E38F1EE20FD000994B0B /* Cocoa.framework in Frameworks */,
1D41D1D11EE0A00500EB94A6 /* libopennurbs_public_zlib.a in Frameworks */,
1D41D1CF1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a in Frameworks */,
1D41D1CD1EE09FFB00EB94A6 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D41D1871EE08F4D00EB94A6 = {
isa = PBXGroup;
children = (
1D41D1AF1EE090EF00EB94A6 /* example_convert.cpp */,
1D41D1911EE08F4D00EB94A6 /* Products */,
1D41D1CB1EE09FFA00EB94A6 /* Frameworks */,
);
sourceTree = "<group>";
};
1D41D1911EE08F4D00EB94A6 /* Products */ = {
isa = PBXGroup;
children = (
1D41D1901EE08F4D00EB94A6 /* example_convert */,
);
name = Products;
sourceTree = "<group>";
};
1D41D1CB1EE09FFA00EB94A6 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E38E1EE20FD000994B0B /* Cocoa.framework */,
1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */,
1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */,
1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D41D18F1EE08F4D00EB94A6 /* example_convert */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D41D1971EE08F4D00EB94A6 /* Build configuration list for PBXNativeTarget "example_convert" */;
buildPhases = (
1D41D18C1EE08F4D00EB94A6 /* Sources */,
1D41D18D1EE08F4D00EB94A6 /* Frameworks */,
1D41D18E1EE08F4D00EB94A6 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_convert;
productName = example_convert;
productReference = 1D41D1901EE08F4D00EB94A6 /* example_convert */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D41D1881EE08F4D00EB94A6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0830;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D41D18F1EE08F4D00EB94A6 = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D41D18B1EE08F4D00EB94A6 /* Build configuration list for PBXProject "example_convert" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 1D41D1871EE08F4D00EB94A6;
productRefGroup = 1D41D1911EE08F4D00EB94A6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D41D18F1EE08F4D00EB94A6 /* example_convert */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D41D18C1EE08F4D00EB94A6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D41D1B01EE090EF00EB94A6 /* example_convert.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D41D1951EE08F4D00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D41D1961EE08F4D00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D41D1981EE08F4D00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D41D1991EE08F4D00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D41D18B1EE08F4D00EB94A6 /* Build configuration list for PBXProject "example_convert" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1951EE08F4D00EB94A6 /* Debug */,
1D41D1961EE08F4D00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D41D1971EE08F4D00EB94A6 /* Build configuration list for PBXNativeTarget "example_convert" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1981EE08F4D00EB94A6 /* Debug */,
1D41D1991EE08F4D00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D41D1881EE08F4D00EB94A6 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_convert.xcodeproj">
</FileRef>
</Workspace>
File diff suppressed because it is too large Load Diff
-430
View File
@@ -1,430 +0,0 @@
/* $NoKeywords: $ */
/*
//
// Copyright (c) 1993-2011 Robert McNeel & Associates. All rights reserved.
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
// McNeel & Assoicates.
//
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
//
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
//
////////////////////////////////////////////////////////////////
*/
////////////////////////////////////////////////////////////////
//
// example_read.cpp
//
// Example program using the Rhino file IO toolkit. The program reads in
// a Rhino 3dm model file and describes its contents. The program is a
// console application that takes a filename as a command line argument.
//
////////////////////////////////////////////////////////////////////////
#include "../opennurbs_public_examples.h"
#include "../example_userdata/example_ud.h"
static bool Dump3dmFileHelper(
const wchar_t* sFileName, // full name of file
ON_TextLog& dump
)
{
dump.Print("====== FILENAME: %ls\n",sFileName);
ON_Workspace ws;
FILE* fp = ws.OpenFile( sFileName, L"rb" ); // file automatically closed by ~ON_Workspace()
if ( !fp ) {
dump.Print("**ERROR** Unable to open file.\n");
return false;
}
ON_BinaryFile file( ON::archive_mode::read3dm, fp );
int version = 0;
ON_String comment_block;
bool rc = file.Read3dmStartSection( &version, comment_block );
if (!rc) {
dump.Print("**ERROR** Read3dmStartSection() failed\n");
return false;
}
dump.Print("====== VERSION: %d\n",version );
dump.Print("====== COMMENT BLOCK:\n",version );
dump.PushIndent();
dump.Print(comment_block);
dump.PopIndent();
dump.Print("====== CHUNKS:\n",version );
unsigned int typecode;
while ( !file.AtEnd() ) {
typecode = file.Dump3dmChunk( dump, 0 );
if ( !typecode )
break;
if ( typecode == TCODE_ENDOFFILE )
break;
}
dump.Print("====== FINISHED: %ls\n",sFileName);
return true;
}
/*
Returns:
True if .3dm file was successfully read into an ONX_Model class.
*/
static bool ReadFileHelper(
const wchar_t* sFileName,
bool bVerboseTextDump,
bool bChunkDump,
ON_TextLog& dump
)
{
if ( bChunkDump )
{
return Dump3dmFileHelper(sFileName,dump);
}
ONX_Model model;
dump.Print("\nOpenNURBS Archive File: %ls\n", sFileName );
// open file containing opennurbs archive
FILE* archive_fp = ON::OpenFile( sFileName, L"rb");
if ( !archive_fp )
{
dump.Print(" Unable to open file.\n" );
return false;
}
dump.PushIndent();
// create achive object from file pointer
ON_BinaryFile archive( ON::archive_mode::read3dm, archive_fp );
// read the contents of the file into "model"
bool rc = model.Read( archive, &dump );
// close the file
ON::CloseFile( archive_fp );
// print diagnostic
if ( rc )
dump.Print("Successfully read.\n");
else
dump.Print("Errors during reading.\n");
// create a text dump of the model
if ( bVerboseTextDump )
{
dump.PushIndent();
model.Dump(dump);
dump.PopIndent();
}
dump.PopIndent();
return rc;
}
/*
Returns:
Number of files read.
*/
static int ReadDirectoryHelper(
int directory_depth,
int maximum_directory_depth,
const wchar_t* directory_name,
const wchar_t* file_name_filter,
bool bVerboseTextDump,
bool bChunkDump,
ON_TextLog& dump
)
{
int file_count = 0;
if ( directory_depth <= maximum_directory_depth )
{
if ( 0 == file_name_filter || 0 == file_name_filter[0] )
file_name_filter = L"*.3dm";
// read files in this directory
ON_FileIterator file_it;
bool bFoundDirectory = false;
for ( bool bHaveFileSystemItem = (file_it.Initialize( directory_name, file_name_filter ) && file_it.FirstItem());
bHaveFileSystemItem;
bHaveFileSystemItem = file_it.NextItem()
)
{
if (file_it.CurrentItemIsDirectory())
{
bFoundDirectory = true;
continue;
}
if ( false == file_it.CurrentItemIsFile() )
continue;
if ( file_it.CurrentItemIsHidden() )
continue;
ON_wString full_path(file_it.CurrentItemFullPathName());
if ( full_path.IsEmpty() )
continue;
if ( !ON::IsOpenNURBSFile(full_path) )
continue;
if ( ReadFileHelper(full_path,bVerboseTextDump,bChunkDump,dump) )
file_count++;
}
// read files in subdirectories
if ( bFoundDirectory && directory_depth < maximum_directory_depth )
{
ON_FileIterator dir_it;
for ( bool bHaveFileSystemItem = (dir_it.Initialize( directory_name, nullptr ) && dir_it.FirstItem());
bHaveFileSystemItem;
bHaveFileSystemItem = dir_it.NextItem()
)
{
if ( false == dir_it.CurrentItemIsDirectory() )
continue;
if ( dir_it.CurrentItemIsHidden() )
continue;
ON_wString full_path(dir_it.CurrentItemFullPathName());
if ( full_path.IsEmpty() )
continue;
file_count += ReadDirectoryHelper(
directory_depth + 1,
maximum_directory_depth,
full_path,
file_name_filter,
bVerboseTextDump,
bChunkDump,
dump
);
}
}
}
return file_count;
}
static void print_help(const char* example_read_exe_name)
{
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0])
example_read_exe_name = "example_read";
printf("\n");
printf("SYNOPSIS:\n");
printf(" %s [-out:outputfilename.txt] [-c] [-r] <file or directory names>\n",example_read_exe_name );
printf("\n");
printf("DESCRIPTION:\n");
printf(" If a file is listed, it is read as an opennurbs model file.\n");
printf(" If a directory is listed, all .3dm files in that directory\n");
printf(" are read as opennurbs model files.\n");
printf("\n");
printf(" Available options:\n");
printf(" -out:outputfilename.txt\n");
printf(" The output is written to the named file.\n");
printf(" -chunkdump\n");
printf(" Does a chunk dump instead of reading the file's contents.\n");
printf(" -recursive\n");
printf(" Recursivly reads files in subdirectories.\n");
printf("\n");
printf("EXAMPLE:\n");
printf(" %s -out:list.txt -resursive .../example_files\n",example_read_exe_name);
printf(" with read all the opennurbs .3dm files in the\n");
printf(" example_files/ directory and subdirectories.\n");
}
#if defined(ON_COMPILER_MSC)
// When you run a C program, you can use either of the two wildcards
// the question mark (?) and the asterisk (*) to specify filename
// and path arguments on the command line.
// By default, wildcards are not expanded in command-line arguments.
// You can replace the normal argument vector argv loading routine with
// a version that does expand wildcards by linking with the setargv.obj or wsetargv.obj file.
// If your program uses a main function, link with setargv.obj.
// If your program uses a wmain function, link with wsetargv.obj.
// Both of these have equivalent behavior.
// To link with setargv.obj or wsetargv.obj, use the /link option.
//
// For example:
// cl example.c /link setargv.obj
// The wildcards are expanded in the same manner as operating system commands.
// (See your operating system user's guide if you are unfamiliar with wildcards.)
// example_read.vcxproj linkin options include setargv.obj.
#endif
int main( int argc, const char *argv[] )
{
// If you are using OpenNURBS as a Windows DLL, then you MUST use
// ON::OpenFile() to open the file. If you are not using OpenNURBS
// as a Windows DLL, then you may use either ON::OpenFile() or fopen()
// to open the file.
const char* example_read_exe_name = 0;
if ( argc >= 1 && 0 != argv && 0 != argv[0] && 0 != argv[0][0] )
{
on_splitpath(
argv[0],
nullptr, // drive
nullptr, // director,
&example_read_exe_name,
nullptr // extension
);
}
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0] )
{
#if defined(ON_OS_WINDOWS)
example_read_exe_name = "example_read.exe";
#else
example_read_exe_name = "example_read";
#endif
}
int argi;
if ( argc < 2 )
{
print_help(example_read_exe_name);
return 0;
}
// Call once in your application to initialze opennurbs library
ON::Begin();
// default dump is to stdout
ON_TextLog dump_to_stdout;
dump_to_stdout.SetIndentSize(2);
ON_TextLog* dump = &dump_to_stdout;
FILE* dump_fp = 0;
bool bVerboseTextDump = true;
bool bChunkDump = false;
int maximum_directory_depth = 0;
int file_count = 0;
for ( argi = 1; argi < argc; argi++ )
{
const char* arg = argv[argi];
// check for -out or /out option
if ( ( 0 == strncmp(arg,"-out:",5) || 0 == strncmp(arg,"-out:",5)
#if defined(ON_OS_WINDOWS)
|| 0 == strncmp(arg,"/out:",5)
#endif
)
&& arg[5] )
{
// change destination of dump file
if ( dump != &dump_to_stdout )
{
delete dump;
dump = 0;
}
if ( dump_fp )
{
ON::CloseFile(dump_fp);
}
const ON_wString sDumpFilename = ON_FileSystemPath::ExpandUser(arg + 5);
FILE* text_fp = ON::OpenFile(sDumpFilename,L"w");
if ( text_fp )
{
dump_fp = text_fp;
dump = new ON_TextLog(dump_fp);
dump->SetIndentSize(2);
}
if ( 0 == dump )
dump = &dump_to_stdout;
continue;
}
// check for -chunkdump or /chunkdump option
if ( 0 == strcmp(arg,"-C")
|| 0 == strcmp(arg,"-c")
|| 0 == strcmp(arg,"-chunk")
|| 0 == strcmp(arg,"-chunkdump")
#if defined(ON_OS_WINDOWS)
|| 0 == strcmp(arg,"/C")
|| 0 == strcmp(arg,"/c")
|| 0 == strcmp(arg,"/chunk")
|| 0 == strcmp(arg,"/chunkdump")
#endif
)
{
bChunkDump = true;
continue;
}
// check for -recursive or /recursive option
if ( 0 == strcmp(arg,"-R")
|| 0 == strcmp(arg,"-r")
|| 0 == strcmp(arg,"-recurse")
|| 0 == strcmp(arg,"-recursive")
#if defined(ON_OS_WINDOWS)
|| 0 == strcmp(arg,"/R")
|| 0 == strcmp(arg,"/r")
|| 0 == strcmp(arg,"/recurse")
|| 0 == strcmp(arg,"/recursive")
#endif
)
{
maximum_directory_depth = 32;
continue;
}
ON_wString ws_arg = ON_FileSystemPath::ExpandUser(arg);
const wchar_t* wchar_arg = ws_arg;
if ( ON::IsDirectory(wchar_arg) )
{
file_count += ReadDirectoryHelper( 0, maximum_directory_depth, wchar_arg, 0, bVerboseTextDump, bChunkDump, *dump );
}
else
{
if ( ReadFileHelper( wchar_arg, bVerboseTextDump, bChunkDump, *dump ) )
file_count++;
}
}
dump->Print("%s read %d opennurbs model files.\n",example_read_exe_name,file_count);
if ( dump != &dump_to_stdout )
{
delete dump;
dump = 0;
}
if ( dump_fp )
{
// close the text dump file
ON::CloseFile( dump_fp );
dump_fp = 0;
}
// OPTIONAL: Call just before your application exits to clean
// up opennurbs class definition information.
// Opennurbs will not work correctly after ON::End()
// is called.
ON::End();
return 0;
}
-160
View File
@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{14A32F02-5A5D-49F7-9156-7EA3608C5900}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_read</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\example_userdata\example_ud.cpp" />
<ClCompile Include="example_read.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
<ClInclude Include="..\example_userdata\example_ud.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-31
View File
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{08cf1add-3c46-4bc3-912e-e268f06ecbc4}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\example_userdata\example_ud.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\example_userdata\example_ud.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,296 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E3881EE20FA700994B0B /* Cocoa.framework */; };
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F01EE0835C004CC693 /* example_read.cpp */; };
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F31EE0841D004CC693 /* example_ud.cpp */; };
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */; };
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D4066521EE0826A008E12FE /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D4066541EE0826A008E12FE /* example_read */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_read; sourceTree = BUILT_PRODUCTS_DIR; };
1D77E3881EE20FA700994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
1DCB16F01EE0835C004CC693 /* example_read.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_read.cpp; sourceTree = "<group>"; };
1DCB16F31EE0841D004CC693 /* example_ud.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = example_ud.cpp; path = ../example_userdata/example_ud.cpp; sourceTree = "<group>"; };
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/opennurbs_public-guyfbzppmwxsskejyvyxsmsqppib/Build/Products/Debug/libopennurbs_public.a"; sourceTree = "<group>"; };
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D4066511EE0826A008E12FE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */,
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */,
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D40664B1EE0826A008E12FE = {
isa = PBXGroup;
children = (
1DCB16F31EE0841D004CC693 /* example_ud.cpp */,
1DCB16F01EE0835C004CC693 /* example_read.cpp */,
1D4066551EE0826A008E12FE /* Products */,
1DCB16F51EE0883F004CC693 /* Frameworks */,
);
indentWidth = 2;
sourceTree = "<group>";
tabWidth = 2;
wrapsLines = 0;
};
1D4066551EE0826A008E12FE /* Products */ = {
isa = PBXGroup;
children = (
1D4066541EE0826A008E12FE /* example_read */,
);
name = Products;
sourceTree = "<group>";
};
1DCB16F51EE0883F004CC693 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E3881EE20FA700994B0B /* Cocoa.framework */,
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */,
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D4066531EE0826A008E12FE /* example_read */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */;
buildPhases = (
1D4066501EE0826A008E12FE /* Sources */,
1D4066511EE0826A008E12FE /* Frameworks */,
1D4066521EE0826A008E12FE /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_read;
productName = example_read;
productReference = 1D4066541EE0826A008E12FE /* example_read */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D40664C1EE0826A008E12FE /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D4066531EE0826A008E12FE = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 1D40664B1EE0826A008E12FE;
productRefGroup = 1D4066551EE0826A008E12FE /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D4066531EE0826A008E12FE /* example_read */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D4066501EE0826A008E12FE /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */,
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D4066591EE0826A008E12FE /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D40665A1EE0826A008E12FE /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D40665C1EE0826A008E12FE /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D40665D1EE0826A008E12FE /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D4066591EE0826A008E12FE /* Debug */,
1D40665A1EE0826A008E12FE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D40665C1EE0826A008E12FE /* Debug */,
1D40665D1EE0826A008E12FE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D40664C1EE0826A008E12FE /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_read.xcodeproj">
</FileRef>
</Workspace>
-141
View File
@@ -1,141 +0,0 @@
#include "../opennurbs_public_examples.h"
int main( int argc, const char *argv[] )
{
// If you are using OpenNURBS as a Windows DLL, then you MUST use
// ON::OpenFile() to open the file. If you are not using OpenNURBS
// as a Windows DLL, then you may use either ON::OpenFile() or fopen()
// to open the file.
int argi;
if ( argc < 2 )
{
printf("Syntax: %s [-out:outputfilename.txt] file1.3dm file2.3dm ...\n",argv[0] );
return 0;
}
// Call once in your application to initialze opennurbs library
ON::Begin();
// default dump is to stdout
ON_TextLog dump_to_stdout;
ON_TextLog* dump = &dump_to_stdout;
FILE* dump_fp = 0;
for ( argi = 1; argi < argc; argi++ )
{
const char* arg = argv[argi];
// check for -out or /out option
if ( ( 0 == strncmp(arg,"-out:",5) || 0 == strncmp(arg,"/out:",5) )
&& arg[5] )
{
// change destination of dump file
const char* sDumpFilename = arg+5;
FILE* text_fp = ON::OpenFile(sDumpFilename,"w");
if ( text_fp )
{
if ( dump_fp )
{
delete dump;
ON::CloseFile(dump_fp);
}
dump_fp = text_fp;
dump = new ON_TextLog(dump_fp);
}
continue;
}
const char* sFileName = arg;
dump->Print("\nOpenNURBS Archive File: %s\n", sFileName );
// open file containing opennurbs archive
FILE* archive_fp = ON::OpenFile( sFileName, "rb");
if ( !archive_fp )
{
dump->Print(" Unable to open file.\n" );
continue;
}
dump->PushIndent();
// create achive object from file pointer
ON_BinaryFile archive( ON::archive_mode::read3dm, archive_fp );
// read the contents of the file into "model"
ONX_Model model;
bool rc = model.Read( archive, dump );
// close the file
ON::CloseFile( archive_fp );
// print diagnostic
if ( rc )
dump->Print("Successfully read.\n");
else
dump->Print("Errors during reading.\n");
/*
int oi = 14;
if ( oi >=0 && oi < model.m_object_table.Count() )
{
dump->Print("m_object_table[%d].m_object:\n",oi);
dump->PushIndent();
model.m_object_table[oi].m_object->Dump(*dump);
dump->PopIndent();
}
*/
int version = 0; // write current Rhino file
ON_String outfile = sFileName;
int len = outfile.Length() - 4;
outfile.SetLength(len);
outfile += "_roundtrip.3dm";
model.m_sStartSectionComments = "roundtrip";
bool outrc = model.Write( outfile, version, dump );
if ( outrc )
{
dump->Print("model.Write(%s) succeeded.\n",outfile.Array());
ONX_Model model2;
if ( model2.Read( outfile, dump ) )
{
dump->Print("model2.Read(%s) succeeded.\n",outfile.Array());
/*
if ( oi >=0 && oi < model2.m_object_table.Count() )
{
dump->Print("m_object_table[%d].m_object:\n",oi);
dump->PushIndent();
model2.m_object_table[oi].m_object->Dump(*dump);
dump->PopIndent();
}
*/
}
else
{
dump->Print("model2.Read(%s) failed.\n",outfile.Array());
}
}
else
dump->Print("model.Write(%s) failed.\n",outfile.Array());
dump->PopIndent();
}
if ( dump_fp )
{
// close the text dump file
delete dump;
ON::CloseFile( dump_fp );
}
// OPTIONAL: Call just before your application exits to clean
// up opennurbs class definition information.
// Opennurbs will not work correctly after ON::End()
// is called.
ON::End();
return 0;
}
-158
View File
@@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0AFC8D30-5E7B-429D-82D2-F26868BF3CA6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_roundtrip</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="example_roundtrip.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{4f612efa-17f1-4928-b55b-470df7aa7d60}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_roundtrip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,274 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D41D1B01EE090EF00EB94A6 /* example_roundtrip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1AF1EE090EF00EB94A6 /* example_roundtrip.cpp */; };
1D41D1CD1EE09FFB00EB94A6 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */; };
1D41D1CF1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */; };
1D41D1D11EE0A00500EB94A6 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */; };
1D77E38F1EE20FD000994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E38E1EE20FD000994B0B /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D41D18E1EE08F4D00EB94A6 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D41D1901EE08F4D00EB94A6 /* example_roundtrip */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_roundtrip; sourceTree = BUILT_PRODUCTS_DIR; };
1D41D1AF1EE090EF00EB94A6 /* example_roundtrip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_roundtrip.cpp; sourceTree = "<group>"; };
1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = ../build/Debug/libopennurbs_public.a; sourceTree = "<group>"; };
1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_freetype.a; path = ../freetype263/build/Debug/libopennurbs_public_freetype.a; sourceTree = "<group>"; };
1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
1D77E38E1EE20FD000994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D41D18D1EE08F4D00EB94A6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E38F1EE20FD000994B0B /* Cocoa.framework in Frameworks */,
1D41D1D11EE0A00500EB94A6 /* libopennurbs_public_zlib.a in Frameworks */,
1D41D1CF1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a in Frameworks */,
1D41D1CD1EE09FFB00EB94A6 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D41D1871EE08F4D00EB94A6 = {
isa = PBXGroup;
children = (
1D41D1AF1EE090EF00EB94A6 /* example_roundtrip.cpp */,
1D41D1911EE08F4D00EB94A6 /* Products */,
1D41D1CB1EE09FFA00EB94A6 /* Frameworks */,
);
sourceTree = "<group>";
};
1D41D1911EE08F4D00EB94A6 /* Products */ = {
isa = PBXGroup;
children = (
1D41D1901EE08F4D00EB94A6 /* example_roundtrip */,
);
name = Products;
sourceTree = "<group>";
};
1D41D1CB1EE09FFA00EB94A6 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E38E1EE20FD000994B0B /* Cocoa.framework */,
1D41D1D01EE0A00500EB94A6 /* libopennurbs_public_zlib.a */,
1D41D1CE1EE09FFF00EB94A6 /* libopennurbs_public_freetype.a */,
1D41D1CC1EE09FFB00EB94A6 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D41D18F1EE08F4D00EB94A6 /* example_roundtrip */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D41D1971EE08F4D00EB94A6 /* Build configuration list for PBXNativeTarget "example_roundtrip" */;
buildPhases = (
1D41D18C1EE08F4D00EB94A6 /* Sources */,
1D41D18D1EE08F4D00EB94A6 /* Frameworks */,
1D41D18E1EE08F4D00EB94A6 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_roundtrip;
productName = example_roundtrip;
productReference = 1D41D1901EE08F4D00EB94A6 /* example_roundtrip */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D41D1881EE08F4D00EB94A6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0830;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D41D18F1EE08F4D00EB94A6 = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D41D18B1EE08F4D00EB94A6 /* Build configuration list for PBXProject "example_roundtrip" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 1D41D1871EE08F4D00EB94A6;
productRefGroup = 1D41D1911EE08F4D00EB94A6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D41D18F1EE08F4D00EB94A6 /* example_roundtrip */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D41D18C1EE08F4D00EB94A6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D41D1B01EE090EF00EB94A6 /* example_roundtrip.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D41D1951EE08F4D00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D41D1961EE08F4D00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D41D1981EE08F4D00EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D41D1991EE08F4D00EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D41D18B1EE08F4D00EB94A6 /* Build configuration list for PBXProject "example_roundtrip" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1951EE08F4D00EB94A6 /* Debug */,
1D41D1961EE08F4D00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D41D1971EE08F4D00EB94A6 /* Build configuration list for PBXNativeTarget "example_roundtrip" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1981EE08F4D00EB94A6 /* Debug */,
1D41D1991EE08F4D00EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D41D1881EE08F4D00EB94A6 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_roundtrip.xcodeproj">
</FileRef>
</Workspace>
File diff suppressed because it is too large Load Diff
-170
View File
@@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>exampletest</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeaderFile />
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeaderFile />
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeaderFile />
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeaderFile />
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="example_test.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\opennurbs_public_examples.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-23
View File
@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_test.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\opennurbs_public_examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,294 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
1D4E12A22016B8A400B90EA3 /* example_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D4E12A12016B8A400B90EA3 /* example_test.cpp */; };
1D4E12A42016B99F00B90EA3 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D4E12A52016B99F00B90EA3 /* libopennurbs_public.a */; };
1D4E12A62016B9A600B90EA3 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D4E12A72016B9A600B90EA3 /* libopennurbs_public_zlib.a */; };
1D4E12AB2016B9DD00B90EA3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D4E12AA2016B9DD00B90EA3 /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D4E12952016B7C800B90EA3 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D4E12972016B7C800B90EA3 /* example_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_test; sourceTree = BUILT_PRODUCTS_DIR; };
1D4E12A12016B8A400B90EA3 /* example_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_test.cpp; sourceTree = "<group>"; };
1D4E12A52016B99F00B90EA3 /* libopennurbs_public.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libopennurbs_public.a; sourceTree = BUILT_PRODUCTS_DIR; };
1D4E12A72016B9A600B90EA3 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libopennurbs_public_zlib.a; sourceTree = BUILT_PRODUCTS_DIR; };
1D4E12AA2016B9DD00B90EA3 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D4E12942016B7C800B90EA3 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D4E12AB2016B9DD00B90EA3 /* Cocoa.framework in Frameworks */,
1D4E12A62016B9A600B90EA3 /* libopennurbs_public_zlib.a in Frameworks */,
1D4E12A42016B99F00B90EA3 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D4E128E2016B7C800B90EA3 = {
isa = PBXGroup;
children = (
1D4E12A12016B8A400B90EA3 /* example_test.cpp */,
1D4E12982016B7C800B90EA3 /* Products */,
1D4E12A32016B99F00B90EA3 /* Frameworks */,
);
sourceTree = "<group>";
};
1D4E12982016B7C800B90EA3 /* Products */ = {
isa = PBXGroup;
children = (
1D4E12972016B7C800B90EA3 /* example_test */,
);
name = Products;
sourceTree = "<group>";
};
1D4E12A32016B99F00B90EA3 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D4E12AA2016B9DD00B90EA3 /* Cocoa.framework */,
1D4E12A72016B9A600B90EA3 /* libopennurbs_public_zlib.a */,
1D4E12A52016B99F00B90EA3 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D4E12962016B7C800B90EA3 /* example_test */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D4E129E2016B7C800B90EA3 /* Build configuration list for PBXNativeTarget "example_test" */;
buildPhases = (
1D4E12932016B7C800B90EA3 /* Sources */,
1D4E12942016B7C800B90EA3 /* Frameworks */,
1D4E12952016B7C800B90EA3 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_test;
productName = example_test;
productReference = 1D4E12972016B7C800B90EA3 /* example_test */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D4E128F2016B7C800B90EA3 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D4E12962016B7C800B90EA3 = {
CreatedOnToolsVersion = 9.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D4E12922016B7C800B90EA3 /* Build configuration list for PBXProject "example_test" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 1D4E128E2016B7C800B90EA3;
productRefGroup = 1D4E12982016B7C800B90EA3 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D4E12962016B7C800B90EA3 /* example_test */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D4E12932016B7C800B90EA3 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D4E12A22016B8A400B90EA3 /* example_test.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D4E129C2016B7C800B90EA3 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D4E129D2016B7C800B90EA3 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D4E129F2016B7C800B90EA3 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CODE_SIGN_STYLE = Automatic;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D4E12A02016B7C800B90EA3 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CODE_SIGN_STYLE = Automatic;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D4E12922016B7C800B90EA3 /* Build configuration list for PBXProject "example_test" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D4E129C2016B7C800B90EA3 /* Debug */,
1D4E129D2016B7C800B90EA3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D4E129E2016B7C800B90EA3 /* Build configuration list for PBXNativeTarget "example_test" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D4E129F2016B7C800B90EA3 /* Debug */,
1D4E12A02016B7C800B90EA3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D4E128F2016B7C800B90EA3 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_test.xcodeproj">
</FileRef>
</Workspace>
-90
View File
@@ -1,90 +0,0 @@
#include "../opennurbs_public_examples.h"
#include "example_ud.h"
CExampleWriteUserData::CExampleWriteUserData()
{
m_sn = ++m__sn;
m_userdata_uuid = Id();
m_userdata_copycount = 1;
}
// {2532FB4A-DED9-4600-B6A4-1568504B66A5}
static const ON_UUID ExampleWriteUserData_Id =
{ 0x2532fb4a, 0xded9, 0x4600, { 0xb6, 0xa4, 0x15, 0x68, 0x50, 0x4b, 0x66, 0xa5 } };
CExampleWriteUserData::CExampleWriteUserData( const char* s)
{
m_sn = ++m__sn;
m_userdata_uuid = Id();
m_application_uuid = ExampleWriteUserData_Id;
m_userdata_copycount = 1;
m_str = s;
}
CExampleWriteUserData::CExampleWriteUserData(const CExampleWriteUserData& src) : ON_UserData(src), m_str(src.m_str)
{
m_sn = ++m__sn;
}
CExampleWriteUserData& CExampleWriteUserData::operator=(const CExampleWriteUserData& src)
{
if ( this != &src )
{
ON_UserData::operator=(src);
m_str = src.m_str;
}
return *this;
}
CExampleWriteUserData::~CExampleWriteUserData()
{
m_sn = -abs(m_sn);
}
void CExampleWriteUserData::Dump( ON_TextLog& text_log ) const
{
ON_UserData::Dump(text_log);
text_log.PushIndent();
const wchar_t* s = m_str;
if ( 0 == s )
s = L"";
text_log.Print("m_str: %ls\n",s);
text_log.Print("m_sn: %d\n",m_sn);
text_log.PopIndent();
}
bool CExampleWriteUserData::GetDescription( ON_wString& description )
{
description = L"example_write.exe user data";
return true;
}
bool CExampleWriteUserData::Archive() const
{
return true;
}
bool CExampleWriteUserData::Write(ON_BinaryArchive& file) const
{
return file.WriteString(m_str);
}
bool CExampleWriteUserData::Read(ON_BinaryArchive& file)
{
return file.ReadString(m_str);
}
int CExampleWriteUserData::m__sn = 0;
ON_OBJECT_IMPLEMENT(CExampleWriteUserData,ON_UserData,"DADD17C5-706D-44ea-9B13-7D9D2C56D085");
ON_UUID CExampleWriteUserData::Id()
{
// {6FC7CDF1-751E-4fa0-9D86-73E84D416DD7}
static const ON_UUID id =
{ 0x6fc7cdf1, 0x751e, 0x4fa0, { 0x9d, 0x86, 0x73, 0xe8, 0x4d, 0x41, 0x6d, 0xd7 } };
return id;
}
-29
View File
@@ -1,29 +0,0 @@
#if !defined(OPENNURBS_EXAMPLE_UD_INC_)
#define OPENNURBS_EXAMPLE_UD_INC_
class CExampleWriteUserData : public ON_UserData
{
static int m__sn;
ON_OBJECT_DECLARE(CExampleWriteUserData);
public:
static ON_UUID Id();
CExampleWriteUserData();
virtual ~CExampleWriteUserData();
CExampleWriteUserData( const char* s);
CExampleWriteUserData(const CExampleWriteUserData& src);
CExampleWriteUserData& operator=(const CExampleWriteUserData& src);
void Dump( ON_TextLog& text_log ) const override;
bool GetDescription( ON_wString& description ) override;
bool Archive() const override;
bool Write(ON_BinaryArchive& file) const override;
bool Read(ON_BinaryArchive& file) override;
ON_wString m_str;
int m_sn;
};
#endif
-273
View File
@@ -1,273 +0,0 @@
#include "../opennurbs_public_examples.h"
// This example demonstrates how to attach customized "user data"
// to any class derived from ON_Object. In particular, you can
// attach custom information to any piece of geometry in a 3DM
// file and have it persist in files, transform, and copy.
class MyUserData : public ON_UserData
{
ON_OBJECT_DECLARE(MyUserData);
public:
// Note well:
// 1) All constructors must initialize ON_UserData::m_userdata_uuid to
// the UUID that identifies this kind of user data.
// 2) All constructors must initialize ON_UserData::m_copy_count to
// 1 if the user data should be copied when the parent object is
// copied.
// For more details, see comments in the constructor code below.
MyUserData();
virtual ~MyUserData();
MyUserData(const MyUserData&);
MyUserData& operator=(const MyUserData&);
// In order to get your user data to persist in files, you must
// override ON_UserData::Archive(), ON_Object::Write() and
// ON_Object::Read()
bool Write(
ON_BinaryArchive&
) const override;
bool Read(
ON_BinaryArchive&
) override;
// Archive() must return true in order for user data to get saved
// in a file.
bool Archive() const override;
// You must override ON_UserData::GetDescription().
bool GetDescription( ON_wString& ) override;
// If your user data is attached to some type of ON_Geometry and you
// want the user data to be transformed when the parent ON_Geometry
// is transformed, then you must override ON_UserData::Transform().
//
// If you don't override ON_UserData::Transform(), then the net
// result of any transforms is stored in ON_UserData::m_userdata_xform.
// At appropriate times, you can inspect ON_UserData::m_userdata_xform
// and reset it to the identity after you've taken whatever actions
// you deem to be appropriate.
bool Transform( const ON_Xform& ) override;
// possible information you might want to attach.
int m_my_int;
ON_Line m_my_line;
ON_String m_my_string;
};
ON_OBJECT_IMPLEMENT( MyUserData, ON_UserData, "53114529-1CD7-4872-818E-311CB19101FA" );
// {D11E26D2-9A77-4a2f-AEC8-4498F2EABBA1}
static const ON_UUID my_application_id =
{ 0xd11e26d2, 0x9a77, 0x4a2f, { 0xae, 0xc8, 0x44, 0x98, 0xf2, 0xea, 0xbb, 0xa1 } };
MyUserData::MyUserData()
{
// Each kind of user data needs a uuid and your constructors MUST
// initialize ON_UserData::m_userdata_uuid with the value of this
// uuid. The value of ON_UserData::m_userdata_uuid uuid is used to
// identify the user data and is passed to ON_Object::GetUserData()
// when an application wants to access user data that has been
// attached to an object.
//
// In simple cases, the class UUID can be used as is shown below.
m_userdata_uuid = MyUserData::m_MyUserData_class_rtti.Uuid();
// In order for user data to be saved in 3dm files, it must have
// a non-nil application id.
m_application_uuid = my_application_id;
// If you want your user data to be copied when its parent ON_Object
// is copied, then your constructor must initialize
// ON_UserData::m_userdata_copycount to 1.
// By default, ON_UserData::m_userdata_copycount is zero and the
// user data is not copied. See the comments in the ON_UserData
// class definition for more details.
m_userdata_copycount = 1;
m_my_int = 0;
}
MyUserData::MyUserData(const MyUserData& src)
: ON_UserData(src) // critical - be sure to call base class copy constructor
{
// The base class copy constructor copies
// m_userdata_uuid, m_application_id, m_userdata_copycount,
// and m_userdata_xform. Then if m_userdata_copycount is
// not zero, it is incremented.
m_my_int = src.m_my_int;
m_my_line = src.m_my_line;
m_my_string = src.m_my_string;
}
MyUserData& MyUserData::operator=(const MyUserData& src)
{
if ( this != &src ) {
// critical - be sure to call base class operator=()
ON_UserData::operator=(src);
m_my_int = src.m_my_int;
m_my_line = src.m_my_line;
m_my_string = src.m_my_string;
}
return *this;
}
MyUserData::~MyUserData()
{
}
bool MyUserData::Archive() const
{
return true;
}
bool MyUserData::Read( ON_BinaryArchive& file )
{
bool rc = true;
if ( rc )
rc = file.ReadInt(&m_my_int);
if ( rc )
rc = file.ReadLine(m_my_line);
if ( rc )
rc = file.ReadString(m_my_string);
return rc;
}
bool MyUserData::Write( ON_BinaryArchive& file ) const
{
bool rc = true;
if ( rc )
rc = file.WriteInt(m_my_int);
if ( rc )
rc = file.WriteLine(m_my_line);
if ( rc )
rc = file.WriteString(m_my_string);
return rc;
}
bool MyUserData::GetDescription( ON_wString& s )
{
s = L"my user data with point, line, and string";
return true;
}
bool MyUserData::Transform( const ON_Xform& xform )
{
// Optional: call the ON_UserData::Transform() if you want the
// ON_UserData::m_userdata_xform value to be updated.
ON_UserData::Transform(xform);
// Transform any geometry you have in your class.
bool rc = m_my_line.Transform(xform);
return rc;
}
static ON_ModelGeometryComponent read_file(
const wchar_t* filename,
bool bManageGeometryObject
)
{
// see example_read.cpp for information about read 3dm files
// This code will only read the file created by write_file().
// This code should not be used as a model for reading general 3dm files.
ONX_Model model;
ON_BinaryFile archive(ON::archive_mode::read3dm, filename);
if (!model.IncrementalReadBegin(archive, true, 0, nullptr))
return ON_ModelGeometryComponent::Unset;
ON_ModelComponentReference mcr;
if (!model.IncrementalReadModelGeometry(archive, true, bManageGeometryObject, true, 0, mcr))
return ON_ModelGeometryComponent::Unset;
const ON_ModelGeometryComponent* mgc = ON_ModelGeometryComponent::Cast(mcr.ModelComponent());
if (nullptr == mgc)
return ON_ModelGeometryComponent::Unset;
return *mgc;
}
int main()
{
ON::Begin();
// uuid used to get user data via ON_Object::GetUserData()
const ON_UUID my_user_data_uuid = MyUserData::m_MyUserData_class_rtti.Uuid();
// We'll attach a MyUserData user data to a point. In general,
// you can attach user data to any class derived from ON_Object.
ON_Point point(0.0,0.0,0.0);
// User data must be created by a call to new
MyUserData* ud = new MyUserData();
ud->m_my_int = 1;
ud->m_my_line.from.Set(0.0,0.0,0.0);
ud->m_my_line.to.Set(1.0,1.0,1.0);
ud->m_my_string = "my user data";
// This attaches the user data to point. When the point is destroied,
// the user data will be destroyed.
//
point.AttachUserData(ud);
// Use ON_Object::GetUserData() to get user data.
MyUserData* original_ud = MyUserData::Cast( point.GetUserData( my_user_data_uuid ) );
printf("original_ud->m_userdata_copycount = %d\n",original_ud->m_userdata_copycount);
// When the point is copied, the user data will be copied if
// ud->m_userdata_copycount > 0.
//
ON_Point copy_of_point = point;
// Use ON_Object::GetUserData() to get user data.
MyUserData* copy_of_ud = MyUserData::Cast( copy_of_point.GetUserData( my_user_data_uuid ) );
if ( 0 == copy_of_ud )
printf("ON_UserData::m_copy_count must be > 0 for user data to be copied.\n");
else
printf("copy_of_ud->m_userdata_copycount = %d\n",copy_of_ud->m_userdata_copycount);
// When the point is transformed, the virtual ON_UserData::Transform()
// is called to transform the point.
// When the point is saved to a file, the virtual ON_Object::Write() is
// called to write the attached user data.
const wchar_t* filename = L"my_point_with_user_data.3dm";
ON_WriteOneObjectArchive(filename, point);
// When the point is read from a file, the virtual ON_Object::Read() is
// called to read the user data.
// If bManageGeometryObject is true, then the ON_ModelGeometryComponent destructor
// will delete point_from_file.
bool bManageGeometryObject = true;
ON_ModelGeometryComponent mgr = read_file( filename, bManageGeometryObject );
const ON_Geometry* point_from_file = mgr.Geometry(nullptr);
if ( nullptr != point_from_file )
{
// Use ON_Object::GetUserData() to get user data.
MyUserData* ud_from_file = MyUserData::Cast( point_from_file->GetUserData( my_user_data_uuid ) );
printf("ud_from_file->m_userdata_copycount = %d\n",ud_from_file->m_userdata_copycount);
if (false == bManageGeometryObject)
{
// caller must manage point_from_file;
delete const_cast<ON_Geometry*>(point_from_file);
}
}
ON::End();
return 0;
}
-160
View File
@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_userdata</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
<ClInclude Include="example_ud.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_ud.cpp" />
<ClCompile Include="example_userdata.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="example_ud.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="example_ud.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="example_userdata.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
@@ -1,293 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D41D1B41EE0913600EB94A6 /* example_ud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1B11EE0913600EB94A6 /* example_ud.cpp */; };
1D41D1B51EE0913600EB94A6 /* example_userdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1B31EE0913600EB94A6 /* example_userdata.cpp */; };
1D41D1D41EE0A01200EB94A6 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1D31EE0A01200EB94A6 /* libopennurbs_public.a */; };
1D41D1D81EE0A01B00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1D71EE0A01B00EB94A6 /* libopennurbs_public_zlib.a */; };
1D77E3911EE20FDC00994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E3901EE20FDC00994B0B /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D41D1A11EE08F7100EB94A6 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D41D1A31EE08F7100EB94A6 /* example_userdata */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_userdata; sourceTree = BUILT_PRODUCTS_DIR; };
1D41D1B11EE0913600EB94A6 /* example_ud.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_ud.cpp; sourceTree = "<group>"; };
1D41D1B21EE0913600EB94A6 /* example_ud.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = example_ud.h; sourceTree = "<group>"; };
1D41D1B31EE0913600EB94A6 /* example_userdata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_userdata.cpp; sourceTree = "<group>"; };
1D41D1D31EE0A01200EB94A6 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = ../build/Debug/libopennurbs_public.a; sourceTree = "<group>"; };
1D41D1D71EE0A01B00EB94A6 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
1D77E3901EE20FDC00994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D41D1A01EE08F7100EB94A6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E3911EE20FDC00994B0B /* Cocoa.framework in Frameworks */,
1D41D1D81EE0A01B00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */,
1D41D1D41EE0A01200EB94A6 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D41D19A1EE08F7100EB94A6 = {
isa = PBXGroup;
children = (
1D41D1B11EE0913600EB94A6 /* example_ud.cpp */,
1D41D1B21EE0913600EB94A6 /* example_ud.h */,
1D41D1B31EE0913600EB94A6 /* example_userdata.cpp */,
1D41D1A41EE08F7100EB94A6 /* Products */,
1D41D1D21EE0A01100EB94A6 /* Frameworks */,
);
sourceTree = "<group>";
};
1D41D1A41EE08F7100EB94A6 /* Products */ = {
isa = PBXGroup;
children = (
1D41D1A31EE08F7100EB94A6 /* example_userdata */,
);
name = Products;
sourceTree = "<group>";
};
1D41D1D21EE0A01100EB94A6 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E3901EE20FDC00994B0B /* Cocoa.framework */,
1D41D1D71EE0A01B00EB94A6 /* libopennurbs_public_zlib.a */,
1D41D1D31EE0A01200EB94A6 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D41D1A21EE08F7100EB94A6 /* example_userdata */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D41D1AA1EE08F7100EB94A6 /* Build configuration list for PBXNativeTarget "example_userdata" */;
buildPhases = (
1D41D19F1EE08F7100EB94A6 /* Sources */,
1D41D1A01EE08F7100EB94A6 /* Frameworks */,
1D41D1A11EE08F7100EB94A6 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_userdata;
productName = example_userdata;
productReference = 1D41D1A31EE08F7100EB94A6 /* example_userdata */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D41D19B1EE08F7100EB94A6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D41D1A21EE08F7100EB94A6 = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D41D19E1EE08F7100EB94A6 /* Build configuration list for PBXProject "example_userdata" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 1D41D19A1EE08F7100EB94A6;
productRefGroup = 1D41D1A41EE08F7100EB94A6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D41D1A21EE08F7100EB94A6 /* example_userdata */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D41D19F1EE08F7100EB94A6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D41D1B41EE0913600EB94A6 /* example_ud.cpp in Sources */,
1D41D1B51EE0913600EB94A6 /* example_userdata.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D41D1A81EE08F7100EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D41D1A91EE08F7100EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D41D1AB1EE08F7100EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D41D1AC1EE08F7100EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D41D19E1EE08F7100EB94A6 /* Build configuration list for PBXProject "example_userdata" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1A81EE08F7100EB94A6 /* Debug */,
1D41D1A91EE08F7100EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D41D1AA1EE08F7100EB94A6 /* Build configuration list for PBXNativeTarget "example_userdata" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1AB1EE08F7100EB94A6 /* Debug */,
1D41D1AC1EE08F7100EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D41D19B1EE08F7100EB94A6 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_userdata.xcodeproj">
</FileRef>
</Workspace>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

File diff suppressed because it is too large Load Diff
-160
View File
@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{75A90363-D54A-4C56-B4FC-900E7540331C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example_write</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\example_userdata\example_ud.cpp" />
<ClCompile Include="example_write.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples.h" />
<ClInclude Include="..\examples_linking_pragmas.h" />
<ClInclude Include="..\example_userdata\example_ud.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{8a5a2ba2-0ce1-47ec-86ef-462018eec804}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\example_userdata\example_ud.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="example_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\examples_linking_pragmas.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\example_userdata\example_ud.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\examples.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -1,295 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1D41D1B71EE0915B00EB94A6 /* example_write.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1B61EE0915B00EB94A6 /* example_write.cpp */; };
1D41D1BB1EE0919400EB94A6 /* example_ud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D41D1B91EE0919400EB94A6 /* example_ud.cpp */; };
1D41D1BF1EE09FC100EB94A6 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1BE1EE09FC100EB94A6 /* libopennurbs_public.a */; };
1D41D1C31EE09FCF00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D41D1C21EE09FCF00EB94A6 /* libopennurbs_public_zlib.a */; };
1D77E38B1EE20FB300994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E38A1EE20FB300994B0B /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
1D41D1681EE08EF700EB94A6 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1D41D16A1EE08EF700EB94A6 /* example_write */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_write; sourceTree = BUILT_PRODUCTS_DIR; };
1D41D1B61EE0915B00EB94A6 /* example_write.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_write.cpp; sourceTree = "<group>"; };
1D41D1B91EE0919400EB94A6 /* example_ud.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = example_ud.cpp; path = ../example_userdata/example_ud.cpp; sourceTree = "<group>"; };
1D41D1BA1EE0919400EB94A6 /* example_ud.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = example_ud.h; path = ../example_userdata/example_ud.h; sourceTree = "<group>"; };
1D41D1BC1EE091AE00EB94A6 /* opennurbs_public_examples.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opennurbs_public_examples.h; path = ../opennurbs_public_examples.h; sourceTree = "<group>"; };
1D41D1BE1EE09FC100EB94A6 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = ../build/Debug/libopennurbs_public.a; sourceTree = "<group>"; };
1D41D1C21EE09FCF00EB94A6 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
1D77E38A1EE20FB300994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D41D1671EE08EF700EB94A6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D77E38B1EE20FB300994B0B /* Cocoa.framework in Frameworks */,
1D41D1C31EE09FCF00EB94A6 /* libopennurbs_public_zlib.a in Frameworks */,
1D41D1BF1EE09FC100EB94A6 /* libopennurbs_public.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1D41D1611EE08EF700EB94A6 = {
isa = PBXGroup;
children = (
1D41D1BC1EE091AE00EB94A6 /* opennurbs_public_examples.h */,
1D41D1B91EE0919400EB94A6 /* example_ud.cpp */,
1D41D1BA1EE0919400EB94A6 /* example_ud.h */,
1D41D1B61EE0915B00EB94A6 /* example_write.cpp */,
1D41D16B1EE08EF700EB94A6 /* Products */,
1D41D1BD1EE09FC100EB94A6 /* Frameworks */,
);
sourceTree = "<group>";
};
1D41D16B1EE08EF700EB94A6 /* Products */ = {
isa = PBXGroup;
children = (
1D41D16A1EE08EF700EB94A6 /* example_write */,
);
name = Products;
sourceTree = "<group>";
};
1D41D1BD1EE09FC100EB94A6 /* Frameworks */ = {
isa = PBXGroup;
children = (
1D77E38A1EE20FB300994B0B /* Cocoa.framework */,
1D41D1C21EE09FCF00EB94A6 /* libopennurbs_public_zlib.a */,
1D41D1BE1EE09FC100EB94A6 /* libopennurbs_public.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D41D1691EE08EF700EB94A6 /* example_write */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D41D1711EE08EF700EB94A6 /* Build configuration list for PBXNativeTarget "example_write" */;
buildPhases = (
1D41D1661EE08EF700EB94A6 /* Sources */,
1D41D1671EE08EF700EB94A6 /* Frameworks */,
1D41D1681EE08EF700EB94A6 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = example_write;
productName = example_write;
productReference = 1D41D16A1EE08EF700EB94A6 /* example_write */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1D41D1621EE08EF700EB94A6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
TargetAttributes = {
1D41D1691EE08EF700EB94A6 = {
CreatedOnToolsVersion = 8.3.2;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 1D41D1651EE08EF700EB94A6 /* Build configuration list for PBXProject "example_write" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 1D41D1611EE08EF700EB94A6;
productRefGroup = 1D41D16B1EE08EF700EB94A6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1D41D1691EE08EF700EB94A6 /* example_write */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
1D41D1661EE08EF700EB94A6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D41D1B71EE0915B00EB94A6 /* example_write.cpp in Sources */,
1D41D1BB1EE0919400EB94A6 /* example_ud.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D41D16F1EE08EF700EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
1D41D1701EE08EF700EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
1D41D1721EE08EF700EB94A6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
1D41D1731EE08EF700EB94A6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D41D1651EE08EF700EB94A6 /* Build configuration list for PBXProject "example_write" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D16F1EE08EF700EB94A6 /* Debug */,
1D41D1701EE08EF700EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1D41D1711EE08EF700EB94A6 /* Build configuration list for PBXNativeTarget "example_write" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D41D1721EE08EF700EB94A6 /* Debug */,
1D41D1731EE08EF700EB94A6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 1D41D1621EE08EF700EB94A6 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:example_write.xcodeproj">
</FileRef>
</Workspace>
+14
View File
@@ -0,0 +1,14 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by opennurbs.rc
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
-117
View File
@@ -3,53 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34031.279
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{7B90C09F-DC78-42B2-AD34-380F6D466B29}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{5E111334-3C11-43E3-8CA8-0043305FB266}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_brep", "example_brep\example_brep.vcxproj", "{765B902B-4562-4035-8BBF-EBAB2A9602A3}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_read", "example_read\example_read.vcxproj", "{14A32F02-5A5D-49F7-9156-7EA3608C5900}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_userdata", "example_userdata\example_userdata.vcxproj", "{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_write", "example_write\example_write.vcxproj", "{75A90363-D54A-4C56-B4FC-900E7540331C}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opennurbs_public", "opennurbs_public.vcxproj", "{1356641D-0B22-4123-B519-A69EE5CDC7F8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opennurbs_public_staticlib", "opennurbs_public_staticlib.vcxproj", "{23288C65-E3EB-4D09-A648-22E1636EB40F}"
ProjectSection(ProjectDependencies) = postProject
{7B90C09F-DC78-42B2-AD34-380F6D466B29} = {7B90C09F-DC78-42B2-AD34-380F6D466B29}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_convert", "example_convert\example_convert.vcxproj", "{15C98F21-2AC9-44C8-8752-25DAFA1C739F}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_test", "example_test\example_test.vcxproj", "{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}"
ProjectSection(ProjectDependencies) = postProject
{1356641D-0B22-4123-B519-A69EE5CDC7F8} = {1356641D-0B22-4123-B519-A69EE5CDC7F8}
{23288C65-E3EB-4D09-A648-22E1636EB40F} = {23288C65-E3EB-4D09-A648-22E1636EB40F}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -58,46 +13,6 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Debug|Win32.ActiveCfg = Debug|Win32
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Debug|Win32.Build.0 = Debug|Win32
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Debug|x64.ActiveCfg = Debug|x64
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Debug|x64.Build.0 = Debug|x64
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Release|Win32.ActiveCfg = Release|Win32
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Release|Win32.Build.0 = Release|Win32
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Release|x64.ActiveCfg = Release|x64
{7B90C09F-DC78-42B2-AD34-380F6D466B29}.Release|x64.Build.0 = Release|x64
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Debug|Win32.ActiveCfg = Debug|Win32
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Debug|Win32.Build.0 = Debug|Win32
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Debug|x64.ActiveCfg = Debug|x64
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Debug|x64.Build.0 = Debug|x64
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Release|Win32.ActiveCfg = Release|Win32
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Release|Win32.Build.0 = Release|Win32
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Release|x64.ActiveCfg = Release|x64
{765B902B-4562-4035-8BBF-EBAB2A9602A3}.Release|x64.Build.0 = Release|x64
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Debug|Win32.ActiveCfg = Debug|Win32
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Debug|Win32.Build.0 = Debug|Win32
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Debug|x64.ActiveCfg = Debug|x64
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Debug|x64.Build.0 = Debug|x64
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Release|Win32.ActiveCfg = Release|Win32
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Release|Win32.Build.0 = Release|Win32
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Release|x64.ActiveCfg = Release|x64
{14A32F02-5A5D-49F7-9156-7EA3608C5900}.Release|x64.Build.0 = Release|x64
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Debug|Win32.ActiveCfg = Debug|Win32
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Debug|Win32.Build.0 = Debug|Win32
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Debug|x64.ActiveCfg = Debug|x64
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Debug|x64.Build.0 = Debug|x64
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Release|Win32.ActiveCfg = Release|Win32
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Release|Win32.Build.0 = Release|Win32
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Release|x64.ActiveCfg = Release|x64
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4}.Release|x64.Build.0 = Release|x64
{75A90363-D54A-4C56-B4FC-900E7540331C}.Debug|Win32.ActiveCfg = Debug|Win32
{75A90363-D54A-4C56-B4FC-900E7540331C}.Debug|Win32.Build.0 = Debug|Win32
{75A90363-D54A-4C56-B4FC-900E7540331C}.Debug|x64.ActiveCfg = Debug|x64
{75A90363-D54A-4C56-B4FC-900E7540331C}.Debug|x64.Build.0 = Debug|x64
{75A90363-D54A-4C56-B4FC-900E7540331C}.Release|Win32.ActiveCfg = Release|Win32
{75A90363-D54A-4C56-B4FC-900E7540331C}.Release|Win32.Build.0 = Release|Win32
{75A90363-D54A-4C56-B4FC-900E7540331C}.Release|x64.ActiveCfg = Release|x64
{75A90363-D54A-4C56-B4FC-900E7540331C}.Release|x64.Build.0 = Release|x64
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Debug|Win32.ActiveCfg = Debug|Win32
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Debug|Win32.Build.0 = Debug|Win32
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Debug|x64.ActiveCfg = Debug|x64
@@ -106,42 +21,10 @@ Global
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Release|Win32.Build.0 = Release|Win32
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Release|x64.ActiveCfg = Release|x64
{1356641D-0B22-4123-B519-A69EE5CDC7F8}.Release|x64.Build.0 = Release|x64
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Debug|Win32.ActiveCfg = Debug|Win32
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Debug|Win32.Build.0 = Debug|Win32
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Debug|x64.ActiveCfg = Debug|x64
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Debug|x64.Build.0 = Debug|x64
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Release|Win32.ActiveCfg = Release|Win32
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Release|Win32.Build.0 = Release|Win32
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Release|x64.ActiveCfg = Release|x64
{23288C65-E3EB-4D09-A648-22E1636EB40F}.Release|x64.Build.0 = Release|x64
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Debug|Win32.ActiveCfg = Debug|Win32
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Debug|Win32.Build.0 = Debug|Win32
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Debug|x64.ActiveCfg = Debug|x64
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Debug|x64.Build.0 = Debug|x64
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Release|Win32.ActiveCfg = Release|Win32
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Release|Win32.Build.0 = Release|Win32
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Release|x64.ActiveCfg = Release|x64
{15C98F21-2AC9-44C8-8752-25DAFA1C739F}.Release|x64.Build.0 = Release|x64
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Debug|Win32.ActiveCfg = Debug|Win32
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Debug|Win32.Build.0 = Debug|Win32
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Debug|x64.ActiveCfg = Debug|x64
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Debug|x64.Build.0 = Debug|x64
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Release|Win32.ActiveCfg = Release|Win32
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Release|Win32.Build.0 = Release|Win32
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Release|x64.ActiveCfg = Release|x64
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{765B902B-4562-4035-8BBF-EBAB2A9602A3} = {5E111334-3C11-43E3-8CA8-0043305FB266}
{14A32F02-5A5D-49F7-9156-7EA3608C5900} = {5E111334-3C11-43E3-8CA8-0043305FB266}
{F6FC693F-2EDB-4DEC-936A-C15BE1195EC4} = {5E111334-3C11-43E3-8CA8-0043305FB266}
{75A90363-D54A-4C56-B4FC-900E7540331C} = {5E111334-3C11-43E3-8CA8-0043305FB266}
{15C98F21-2AC9-44C8-8752-25DAFA1C739F} = {5E111334-3C11-43E3-8CA8-0043305FB266}
{865E8D8D-8E03-4601-A7B5-A8C4094ECB8B} = {5E111334-3C11-43E3-8CA8-0043305FB266}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B610CD3A-4A3F-4CFE-8286-206D407BA4A1}
EndGlobalSection
+4
View File
@@ -93,6 +93,7 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;OPENNURBS_EXPORTS;ON_COMPILER_CLANG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<OpenMPSupport>true</OpenMPSupport>
<AdditionalIncludeDirectories>C:\EgtDev\Extern\opennurbs\Include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -114,6 +115,7 @@ copy $(TargetPath) \EgtProg\DllD32</Command>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;OPENNURBS_EXPORTS;ON_COMPILER_CLANG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<OpenMPSupport>true</OpenMPSupport>
<AdditionalIncludeDirectories>C:\EgtDev\Extern\opennurbs\Include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -137,6 +139,7 @@ copy $(TargetPath) \EgtProg\Dll32</Command>
<TreatWarningAsError>false</TreatWarningAsError>
<WarningLevel>Level1</WarningLevel>
<AdditionalOptions>-Wunknown-pragmas %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>C:\EgtDev\Extern\opennurbs\Include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -161,6 +164,7 @@ copy $(TargetPath) \EgtProg\DllD64</Command>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>false</TreatWarningAsError>
<AdditionalOptions>-Wunknown-pragmas %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>C:\EgtDev\Extern\opennurbs\Include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
-478
View File
@@ -1,478 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="15.0">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{23288C65-E3EB-4D09-A648-22E1636EB40F}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>opennurbs_public_staticlib</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
<Import Project="opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
<Import Project="opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
<Import Project="opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
<Import Project="opennurbs_msbuild.Cpp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>ON_COMPILING_OPENNURBS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<PrecompiledHeaderFile>opennurbs.h</PrecompiledHeaderFile>
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>ON_COMPILING_OPENNURBS;WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<PrecompiledHeaderFile>opennurbs.h</PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<OpenMPSupport>true</OpenMPSupport>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>ON_COMPILING_OPENNURBS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<PrecompiledHeaderFile>opennurbs.h</PrecompiledHeaderFile>
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>ON_COMPILING_OPENNURBS;WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<PrecompiledHeaderFile>opennurbs.h</PrecompiledHeaderFile>
<OpenMPSupport>true</OpenMPSupport>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="opennurbs.h" />
<ClInclude Include="opennurbs_3dm.h" />
<ClInclude Include="opennurbs_3dm_attributes.h" />
<ClInclude Include="opennurbs_3dm_properties.h" />
<ClInclude Include="opennurbs_3dm_settings.h" />
<ClInclude Include="opennurbs_annotationbase.h" />
<ClInclude Include="opennurbs_arc.h" />
<ClInclude Include="opennurbs_arccurve.h" />
<ClInclude Include="opennurbs_archive.h" />
<ClInclude Include="opennurbs_array.h" />
<ClInclude Include="opennurbs_array_defs.h" />
<ClInclude Include="opennurbs_base32.h" />
<ClInclude Include="opennurbs_base64.h" />
<ClInclude Include="opennurbs_beam.h" />
<ClInclude Include="opennurbs_bezier.h" />
<ClInclude Include="opennurbs_bitmap.h" />
<ClInclude Include="opennurbs_bounding_box.h" />
<ClInclude Include="opennurbs_box.h" />
<ClInclude Include="opennurbs_brep.h" />
<ClInclude Include="opennurbs_circle.h" />
<ClInclude Include="opennurbs_color.h" />
<ClInclude Include="opennurbs_compress.h" />
<ClInclude Include="opennurbs_compstat.h" />
<ClInclude Include="opennurbs_cone.h" />
<ClInclude Include="opennurbs_convex_poly.h" />
<ClInclude Include="opennurbs_crc.h" />
<ClInclude Include="opennurbs_curve.h" />
<ClInclude Include="opennurbs_curveonsurface.h" />
<ClInclude Include="opennurbs_curveproxy.h" />
<ClInclude Include="opennurbs_cylinder.h" />
<ClInclude Include="opennurbs_date.h" />
<ClInclude Include="opennurbs_defines.h" />
<ClInclude Include="opennurbs_detail.h" />
<ClInclude Include="opennurbs_dimension.h" />
<ClInclude Include="opennurbs_dimensionformat.h" />
<ClInclude Include="opennurbs_dimensionstyle.h" />
<ClInclude Include="opennurbs_dll_resource.h" />
<ClInclude Include="opennurbs_ellipse.h" />
<ClInclude Include="opennurbs_error.h" />
<ClInclude Include="opennurbs_evaluate_nurbs.h" />
<ClInclude Include="opennurbs_extensions.h" />
<ClInclude Include="opennurbs_file_utilities.h" />
<ClInclude Include="opennurbs_font.h" />
<ClInclude Include="opennurbs_fpoint.h" />
<ClInclude Include="opennurbs_fsp.h" />
<ClInclude Include="opennurbs_fsp_defs.h" />
<ClInclude Include="opennurbs_function_list.h" />
<ClInclude Include="opennurbs_geometry.h" />
<ClInclude Include="opennurbs_gl.h" />
<ClInclude Include="opennurbs_group.h" />
<ClInclude Include="opennurbs_hash_table.h" />
<ClInclude Include="opennurbs_hatch.h" />
<ClInclude Include="opennurbs_hsort_template.h" />
<ClInclude Include="opennurbs_input_libsdir.h" />
<ClInclude Include="opennurbs_instance.h" />
<ClInclude Include="opennurbs_internal_defines.h" />
<ClInclude Include="opennurbs_internal_glyph.h" />
<ClInclude Include="opennurbs_internal_V2_annotation.h" />
<ClInclude Include="opennurbs_internal_V5_annotation.h" />
<ClInclude Include="opennurbs_internal_V5_dimstyle.h" />
<ClInclude Include="opennurbs_intersect.h" />
<ClInclude Include="opennurbs_ipoint.h" />
<ClInclude Include="opennurbs_knot.h" />
<ClInclude Include="opennurbs_layer.h" />
<ClInclude Include="opennurbs_leader.h" />
<ClInclude Include="opennurbs_light.h" />
<ClInclude Include="opennurbs_line.h" />
<ClInclude Include="opennurbs_linecurve.h" />
<ClInclude Include="opennurbs_linestyle.h" />
<ClInclude Include="opennurbs_linetype.h" />
<ClInclude Include="opennurbs_locale.h" />
<ClInclude Include="opennurbs_lock.h" />
<ClInclude Include="opennurbs_lookup.h" />
<ClInclude Include="opennurbs_mapchan.h" />
<ClInclude Include="opennurbs_material.h" />
<ClInclude Include="opennurbs_math.h" />
<ClInclude Include="opennurbs_matrix.h" />
<ClInclude Include="opennurbs_md5.h" />
<ClInclude Include="opennurbs_memory.h" />
<ClInclude Include="opennurbs_mesh.h" />
<ClInclude Include="opennurbs_model_component.h" />
<ClInclude Include="opennurbs_model_geometry.h" />
<ClInclude Include="opennurbs_nurbscurve.h" />
<ClInclude Include="opennurbs_nurbssurface.h" />
<ClInclude Include="opennurbs_object.h" />
<ClInclude Include="opennurbs_object_history.h" />
<ClInclude Include="opennurbs_objref.h" />
<ClInclude Include="opennurbs_offsetsurface.h" />
<ClInclude Include="opennurbs_optimize.h" />
<ClInclude Include="opennurbs_parse.h" />
<ClInclude Include="opennurbs_photogrammetry.h" />
<ClInclude Include="opennurbs_plane.h" />
<ClInclude Include="opennurbs_planesurface.h" />
<ClInclude Include="opennurbs_pluginlist.h" />
<ClInclude Include="opennurbs_point.h" />
<ClInclude Include="opennurbs_pointcloud.h" />
<ClInclude Include="opennurbs_pointgeometry.h" />
<ClInclude Include="opennurbs_pointgrid.h" />
<ClInclude Include="opennurbs_polycurve.h" />
<ClInclude Include="opennurbs_polyedgecurve.h" />
<ClInclude Include="opennurbs_polyline.h" />
<ClInclude Include="opennurbs_polylinecurve.h" />
<ClInclude Include="opennurbs_private_wrap_defs.h" />
<ClInclude Include="opennurbs_progress_reporter.h" />
<ClInclude Include="opennurbs_qsort_template.h" />
<ClInclude Include="opennurbs_quaternion.h" />
<ClInclude Include="opennurbs_rand.h" />
<ClInclude Include="opennurbs_rendering.h" />
<ClInclude Include="opennurbs_revsurface.h" />
<ClInclude Include="opennurbs_rtree.h" />
<ClInclude Include="opennurbs_sha1.h" />
<ClInclude Include="opennurbs_sleeplock.h" />
<ClInclude Include="opennurbs_sphere.h" />
<ClInclude Include="opennurbs_std_string.h" />
<ClInclude Include="opennurbs_string.h" />
<ClInclude Include="opennurbs_string_value.h" />
<ClInclude Include="opennurbs_subd.h" />
<ClInclude Include="opennurbs_subd_data.h" />
<ClInclude Include="opennurbs_sumsurface.h" />
<ClInclude Include="opennurbs_surface.h" />
<ClInclude Include="opennurbs_surfaceproxy.h" />
<ClInclude Include="opennurbs_symmetry.h" />
<ClInclude Include="opennurbs_system.h" />
<ClInclude Include="opennurbs_system_compiler.h" />
<ClInclude Include="opennurbs_system_runtime.h" />
<ClInclude Include="opennurbs_terminator.h" />
<ClInclude Include="opennurbs_testclass.h" />
<ClInclude Include="opennurbs_text.h" />
<ClInclude Include="opennurbs_textcontext.h" />
<ClInclude Include="opennurbs_textglyph.h" />
<ClInclude Include="opennurbs_textiterator.h" />
<ClInclude Include="opennurbs_textlog.h" />
<ClInclude Include="opennurbs_textobject.h" />
<ClInclude Include="opennurbs_textrun.h" />
<ClInclude Include="opennurbs_texture.h" />
<ClInclude Include="opennurbs_texture_mapping.h" />
<ClInclude Include="opennurbs_text_style.h" />
<ClInclude Include="opennurbs_topology.h" />
<ClInclude Include="opennurbs_torus.h" />
<ClInclude Include="opennurbs_unicode.h" />
<ClInclude Include="opennurbs_userdata.h" />
<ClInclude Include="opennurbs_uuid.h" />
<ClInclude Include="opennurbs_version.h" />
<ClInclude Include="opennurbs_version_number.h" />
<ClInclude Include="opennurbs_viewport.h" />
<ClInclude Include="opennurbs_windows_targetver.h" />
<ClInclude Include="opennurbs_win_dwrite.h" />
<ClInclude Include="opennurbs_wip.h" />
<ClInclude Include="opennurbs_workspace.h" />
<ClInclude Include="opennurbs_xform.h" />
<ClInclude Include="opennurbs_zlib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="opennurbs_3dm_attributes.cpp" />
<ClCompile Include="opennurbs_3dm_properties.cpp" />
<ClCompile Include="opennurbs_3dm_settings.cpp" />
<ClCompile Include="opennurbs_annotationbase.cpp" />
<ClCompile Include="opennurbs_arc.cpp" />
<ClCompile Include="opennurbs_arccurve.cpp" />
<ClCompile Include="opennurbs_archive.cpp" />
<ClCompile Include="opennurbs_archive_manifest.cpp" />
<ClCompile Include="opennurbs_array.cpp" />
<ClCompile Include="opennurbs_base32.cpp" />
<ClCompile Include="opennurbs_base64.cpp" />
<ClCompile Include="opennurbs_beam.cpp" />
<ClCompile Include="opennurbs_bezier.cpp" />
<ClCompile Include="opennurbs_beziervolume.cpp" />
<ClCompile Include="opennurbs_bitmap.cpp" />
<ClCompile Include="opennurbs_bounding_box.cpp" />
<ClCompile Include="opennurbs_box.cpp" />
<ClCompile Include="opennurbs_brep.cpp" />
<ClCompile Include="opennurbs_brep_extrude.cpp" />
<ClCompile Include="opennurbs_brep_io.cpp" />
<ClCompile Include="opennurbs_brep_isvalid.cpp" />
<ClCompile Include="opennurbs_brep_region.cpp" />
<ClCompile Include="opennurbs_brep_tools.cpp" />
<ClCompile Include="opennurbs_brep_v2valid.cpp" />
<ClCompile Include="opennurbs_calculator.cpp" />
<ClCompile Include="opennurbs_circle.cpp" />
<ClCompile Include="opennurbs_color.cpp" />
<ClCompile Include="opennurbs_compress.cpp" />
<ClCompile Include="opennurbs_compstat.cpp" />
<ClCompile Include="opennurbs_cone.cpp" />
<ClCompile Include="opennurbs_convex_poly.cpp" />
<ClCompile Include="opennurbs_crc.cpp" />
<ClCompile Include="opennurbs_curve.cpp" />
<ClCompile Include="opennurbs_curveonsurface.cpp" />
<ClCompile Include="opennurbs_curveproxy.cpp" />
<ClCompile Include="opennurbs_cylinder.cpp" />
<ClCompile Include="opennurbs_date.cpp" />
<ClCompile Include="opennurbs_defines.cpp" />
<ClCompile Include="opennurbs_detail.cpp" />
<ClCompile Include="opennurbs_dimension.cpp" />
<ClCompile Include="opennurbs_dimensionformat.cpp" />
<ClCompile Include="opennurbs_dimensionstyle.cpp" />
<ClCompile Include="opennurbs_ellipse.cpp" />
<ClCompile Include="opennurbs_embedded_file.cpp" />
<ClCompile Include="opennurbs_error.cpp" />
<ClCompile Include="opennurbs_error_message.cpp" />
<ClCompile Include="opennurbs_evaluate_nurbs.cpp" />
<ClCompile Include="opennurbs_extensions.cpp" />
<ClCompile Include="opennurbs_file_utilities.cpp" />
<ClCompile Include="opennurbs_font.cpp" />
<ClCompile Include="opennurbs_fsp.cpp" />
<ClCompile Include="opennurbs_function_list.cpp" />
<ClCompile Include="opennurbs_geometry.cpp" />
<ClCompile Include="opennurbs_glyph_outline.cpp" />
<ClCompile Include="opennurbs_group.cpp" />
<ClCompile Include="opennurbs_hash_table.cpp" />
<ClCompile Include="opennurbs_hatch.cpp" />
<ClCompile Include="opennurbs_instance.cpp" />
<ClCompile Include="opennurbs_internal_V2_annotation.cpp" />
<ClCompile Include="opennurbs_internal_V5_annotation.cpp" />
<ClCompile Include="opennurbs_internal_V5_dimstyle.cpp" />
<ClCompile Include="opennurbs_internal_Vx_annotation.cpp" />
<ClCompile Include="opennurbs_intersect.cpp" />
<ClCompile Include="opennurbs_ipoint.cpp" />
<ClCompile Include="opennurbs_knot.cpp" />
<ClCompile Include="opennurbs_layer.cpp" />
<ClCompile Include="opennurbs_leader.cpp" />
<ClCompile Include="opennurbs_light.cpp" />
<ClCompile Include="opennurbs_line.cpp" />
<ClCompile Include="opennurbs_linecurve.cpp" />
<ClCompile Include="opennurbs_linetype.cpp" />
<ClCompile Include="opennurbs_locale.cpp" />
<ClCompile Include="opennurbs_lock.cpp" />
<ClCompile Include="opennurbs_lookup.cpp" />
<ClCompile Include="opennurbs_material.cpp" />
<ClCompile Include="opennurbs_math.cpp" />
<ClCompile Include="opennurbs_matrix.cpp" />
<ClCompile Include="opennurbs_md5.cpp" />
<ClCompile Include="opennurbs_memory_util.cpp" />
<ClCompile Include="opennurbs_mesh.cpp" />
<ClCompile Include="opennurbs_mesh_ngon.cpp" />
<ClCompile Include="opennurbs_mesh_tools.cpp" />
<ClCompile Include="opennurbs_mesh_topology.cpp" />
<ClCompile Include="opennurbs_model_component.cpp" />
<ClCompile Include="opennurbs_model_geometry.cpp" />
<ClCompile Include="opennurbs_morph.cpp" />
<ClCompile Include="opennurbs_nurbscurve.cpp" />
<ClCompile Include="opennurbs_nurbssurface.cpp" />
<ClCompile Include="opennurbs_nurbsvolume.cpp" />
<ClCompile Include="opennurbs_object.cpp" />
<ClCompile Include="opennurbs_object_history.cpp" />
<ClCompile Include="opennurbs_objref.cpp" />
<ClCompile Include="opennurbs_offsetsurface.cpp" />
<ClCompile Include="opennurbs_optimize.cpp" />
<ClCompile Include="opennurbs_parse_angle.cpp" />
<ClCompile Include="opennurbs_parse_length.cpp" />
<ClCompile Include="opennurbs_parse_number.cpp" />
<ClCompile Include="opennurbs_parse_point.cpp" />
<ClCompile Include="opennurbs_parse_settings.cpp" />
<ClCompile Include="opennurbs_photogrammetry.cpp" />
<ClCompile Include="opennurbs_plane.cpp" />
<ClCompile Include="opennurbs_planesurface.cpp" />
<ClCompile Include="opennurbs_pluginlist.cpp" />
<ClCompile Include="opennurbs_point.cpp" />
<ClCompile Include="opennurbs_pointcloud.cpp" />
<ClCompile Include="opennurbs_pointgeometry.cpp" />
<ClCompile Include="opennurbs_pointgrid.cpp" />
<ClCompile Include="opennurbs_polycurve.cpp" />
<ClCompile Include="opennurbs_polyedgecurve.cpp" />
<ClCompile Include="opennurbs_polyline.cpp" />
<ClCompile Include="opennurbs_polylinecurve.cpp" />
<ClCompile Include="opennurbs_precompiledheader.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="opennurbs_progress_reporter.cpp" />
<ClCompile Include="opennurbs_public_memory.cpp" />
<ClCompile Include="opennurbs_quaternion.cpp" />
<ClCompile Include="opennurbs_rand.cpp" />
<ClCompile Include="opennurbs_revsurface.cpp" />
<ClCompile Include="opennurbs_rtree.cpp" />
<ClCompile Include="opennurbs_sha1.cpp" />
<ClCompile Include="opennurbs_sleeplock.cpp" />
<ClCompile Include="opennurbs_sort.cpp" />
<ClCompile Include="opennurbs_sphere.cpp" />
<ClCompile Include="opennurbs_statics.cpp" />
<ClCompile Include="opennurbs_std_string_format.cpp" />
<ClCompile Include="opennurbs_std_string_utf.cpp" />
<ClCompile Include="opennurbs_string.cpp" />
<ClCompile Include="opennurbs_string_compare.cpp" />
<ClCompile Include="opennurbs_string_format.cpp" />
<ClCompile Include="opennurbs_string_scan.cpp" />
<ClCompile Include="opennurbs_string_values.cpp" />
<ClCompile Include="opennurbs_subd.cpp" />
<ClCompile Include="opennurbs_subd_archive.cpp" />
<ClCompile Include="opennurbs_subd_copy.cpp" />
<ClCompile Include="opennurbs_subd_data.cpp" />
<ClCompile Include="opennurbs_subd_eval.cpp" />
<ClCompile Include="opennurbs_subd_fragment.cpp" />
<ClCompile Include="opennurbs_subd_frommesh.cpp" />
<ClCompile Include="opennurbs_subd_heap.cpp" />
<ClCompile Include="opennurbs_subd_iter.cpp" />
<ClCompile Include="opennurbs_subd_limit.cpp" />
<ClCompile Include="opennurbs_subd_matrix.cpp" />
<ClCompile Include="opennurbs_subd_mesh.cpp" />
<ClCompile Include="opennurbs_subd_ref.cpp" />
<ClCompile Include="opennurbs_subd_ring.cpp" />
<ClCompile Include="opennurbs_subd_sector.cpp" />
<ClCompile Include="opennurbs_subd_texture.cpp" />
<ClCompile Include="opennurbs_sum.cpp" />
<ClCompile Include="opennurbs_sumsurface.cpp" />
<ClCompile Include="opennurbs_surface.cpp" />
<ClCompile Include="opennurbs_surfaceproxy.cpp" />
<ClCompile Include="opennurbs_symmetry.cpp" />
<ClCompile Include="opennurbs_terminator.cpp" />
<ClCompile Include="opennurbs_testclass.cpp" />
<ClCompile Include="opennurbs_text.cpp" />
<ClCompile Include="opennurbs_textcontext.cpp" />
<ClCompile Include="opennurbs_textglyph.cpp" />
<ClCompile Include="opennurbs_textiterator.cpp" />
<ClCompile Include="opennurbs_textlog.cpp" />
<ClCompile Include="opennurbs_textobject.cpp" />
<ClCompile Include="opennurbs_textrun.cpp" />
<ClCompile Include="opennurbs_text_style.cpp" />
<ClCompile Include="opennurbs_topology.cpp" />
<ClCompile Include="opennurbs_torus.cpp" />
<ClCompile Include="opennurbs_unicode.cpp" />
<ClCompile Include="opennurbs_unicode_cpsb.cpp" />
<ClCompile Include="opennurbs_units.cpp" />
<ClCompile Include="opennurbs_userdata.cpp" />
<ClCompile Include="opennurbs_userdata_obsolete.cpp" />
<ClCompile Include="opennurbs_uuid.cpp" />
<ClCompile Include="opennurbs_version.cpp" />
<ClCompile Include="opennurbs_version_number.cpp" />
<ClCompile Include="opennurbs_viewport.cpp" />
<ClCompile Include="opennurbs_win_dwrite.cpp" />
<ClCompile Include="opennurbs_workspace.cpp" />
<ClCompile Include="opennurbs_wstring.cpp" />
<ClCompile Include="opennurbs_xform.cpp" />
<ClCompile Include="opennurbs_zlib.cpp" />
<ClCompile Include="opennurbs_zlib_memory.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+82
View File
@@ -0,0 +1,82 @@
#pragma once
// This file is included by BOTH RC files and C++ files
// This means you have a very limited set of preprocessor instructions
// at your disposal.
// To update version numbers, edit ..\build\build_dates.msbuild
#define RMA_VERSION_MAJOR 7
#define RMA_VERSION_MINOR 11
////////////////////////////////////////////////////////////////
//
// These are set automatically by the build system as the
// first step in each build.
//
#define RMA_VERSION_YEAR 2021
#define RMA_VERSION_MONTH 10
#define RMA_VERSION_DATE 12
#define RMA_VERSION_HOUR 13
#define RMA_VERSION_MINUTE 0
////////////////////////////////////////////////////////////////
//
// branch = 0 to 3
// This number identifies the branch used in the build.
//
// The build system automatically sets the value to
// 1, 2 or 3 before compiling any code.
//
// The file checked into the source code repository
// always has branch set to 0.
// 0 = developer build
// 1 = build system trunk build
// 2 = build system release candidate build
// 3 = build system release build
#define RMA_VERSION_BRANCH 0
#define VERSION_WITH_COMMAS 7,11,21285,13000
#define VERSION_WITH_PERIODS 7.11.21285.13000
#define COPYRIGHT "Copyright (C) 1993-2021, Robert McNeel & Associates. All Rights Reserved."
#define SPECIAL_BUILD_DESCRIPTION "Public OpenNURBS C++ 3dm file IO library."
#define RMA_VERSION_NUMBER_MAJOR_STRING "7"
#define RMA_VERSION_NUMBER_MAJOR_WSTRING L"7"
#define RMA_PREVIOUS_VERSION_NUMBER_MAJOR_WSTRING L"6"
#define RMA_VERSION_NUMBER_SR_STRING "SR11"
#define RMA_VERSION_NUMBER_SR_WSTRING L"SR11"
#define RMA_VERSION_WITH_PERIODS_STRING "7.11.21285.13000"
#define RMA_VERSION_WITH_PERIODS_WSTRING L"7.11.21285.13000"
// git revision SHA-1 hash as char hexadecimal string
#define RMA_GIT_REVISION_HASH_STRING ""
#define RMA_GIT_REVISION_HASH_WSTRING L""
// git branch name as char string
#define RMA_GIT_BRANCH_NAME_STRING ""
#define RMA_GIT_BRANCH_NAME_WSTRING L""
// RHINO_FILE_FLAGS_MASK can be one or more of the following:
// VS_FF_DEBUG - File contains debugging information or is compiled with debugging features enabled.
// VS_FF_PATCHED - File has been modified and is not identical to the original shipping file of the same version number.
// VS_FF_PRERELEASE - File is a development version, not a commercially released product.
// VS_FF_PRIVATEBUILD - File was not built using standard release procedures. If this value is given, the StringFileInfo block must contain a PrivateBuild string.
// VS_FF_SPECIALBUILD - File was built by the original company using standard release procedures but is a variation of the standard file of the same version number. If this value is given, the StringFileInfo block block must contain a SpecialBuild string.
#if defined(_WIN32) || defined(WIN32) || defined(_WIN64) || defined(WIN64) || defined(WINDOWS) || defined(_WINDOWS_) || defined(__WINDOWS__)
#if !defined(VS_FF_PRERELEASE)
// At this time, verrsrc.h does not have protection against multiple includes.
// Testing for VS_FF_PRERELEASE seems to prevent double incudes and the
// redef errors it generates.
#include "verrsrc.h"
#endif
#endif
#define RHINO_FILE_FLAGS_MASK VS_FF_PRERELEASE