mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
add dxf2egg
This commit is contained in:
parent
d7552a9c76
commit
877a7b9cea
@ -8,10 +8,11 @@
|
|||||||
#define UNIX_SYS_LIBS m
|
#define UNIX_SYS_LIBS m
|
||||||
|
|
||||||
#define SOURCES \
|
#define SOURCES \
|
||||||
dxfFile.cxx dxfFile.h dxfLayer.h dxfLayerMap.cxx dxfLayerMap.h \
|
dxfFile.cxx dxfFile.h dxfLayer.h dxfLayer.cxx \
|
||||||
dxfVertex.cxx dxfVertex.h dxfVertexMap.cxx dxfVertexMap.h
|
dxfLayerMap.cxx dxfLayerMap.h \
|
||||||
|
dxfVertex.cxx dxfVertex.h
|
||||||
|
|
||||||
#define INSTALL_HEADERS \
|
#define INSTALL_HEADERS \
|
||||||
dxfFile.h dxfLayer.h dxfLayerMap.h dxfVertex.h dxfVertexMap.h
|
dxfFile.h dxfLayer.h dxfLayerMap.h dxfVertex.h
|
||||||
|
|
||||||
#end ss_lib_target
|
#end ss_lib_target
|
||||||
|
@ -656,7 +656,7 @@ change_section(Section new_section) {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
void DXFFile::
|
void DXFFile::
|
||||||
change_layer(const string &layer_name) {
|
change_layer(const string &layer_name) {
|
||||||
if (_layer == NULL || _layer->_name != layer_name) {
|
if (_layer == NULL || _layer->get_name() != layer_name) {
|
||||||
_layer = _layers.get_layer(layer_name, this);
|
_layer = _layers.get_layer(layer_name, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Filename: dxfVertexMap.h
|
// Filename: dxfLayer.cxx
|
||||||
// Created by: drose (04May04)
|
// Created by: drose (04May04)
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -16,24 +16,23 @@
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef DXFVERTEXMAP_H
|
#include "dxfLayer.h"
|
||||||
#define DXFVERTEXMAP_H
|
|
||||||
|
|
||||||
#include "pandatoolbase.h"
|
|
||||||
|
|
||||||
#include "dxfVertex.h"
|
|
||||||
#include "pmap.h"
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Class : DXFVertexMap
|
// Function: DXFLayer::Constructor
|
||||||
// Description : This is a map of DXFVertex to an integer index
|
// Access: Public
|
||||||
// number. It is intended to be used to collapse
|
// Description:
|
||||||
// together identical vertices, since the DXF file has
|
|
||||||
// no inherent notion of shared vertices.
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class DXFVertexMap : public pmap<DXFVertex, int> {
|
DXFLayer::
|
||||||
public:
|
DXFLayer(const string &name) : Namable(name) {
|
||||||
int get_vertex_index(const DXFVertex &vert);
|
}
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: DXFLayer::Destructor
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
DXFLayer::
|
||||||
|
~DXFLayer() {
|
||||||
|
}
|
@ -20,7 +20,7 @@
|
|||||||
#define DXFLAYER_H
|
#define DXFLAYER_H
|
||||||
|
|
||||||
#include "pandatoolbase.h"
|
#include "pandatoolbase.h"
|
||||||
#include "dxfVertexMap.h"
|
#include "namable.h"
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Class : DXFLayer
|
// Class : DXFLayer
|
||||||
@ -29,21 +29,13 @@
|
|||||||
// the file, or it may be implicitly defined by an
|
// the file, or it may be implicitly defined by an
|
||||||
// entity's having referenced it.
|
// entity's having referenced it.
|
||||||
//
|
//
|
||||||
// The DXFLayer class provides a facility for collapsing
|
|
||||||
// identical vertices, via the _vmap member; however,
|
|
||||||
// this is not automatic and must be done explicitly by
|
|
||||||
// user code.
|
|
||||||
//
|
|
||||||
// User code may derive from DXFLayer to associate
|
// User code may derive from DXFLayer to associate
|
||||||
// private data with each layer, if desired.
|
// private data with each layer, if desired.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class DXFLayer {
|
class DXFLayer : public Namable {
|
||||||
public:
|
public:
|
||||||
DXFLayer(const string &name) : _name(name) { }
|
DXFLayer(const string &name);
|
||||||
virtual ~DXFLayer() { }
|
virtual ~DXFLayer();
|
||||||
|
|
||||||
string _name;
|
|
||||||
DXFVertexMap _vmap;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
// Filename: dxfVertexMap.cxx
|
|
||||||
// Created by: drose (04May04)
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// PANDA 3D SOFTWARE
|
|
||||||
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
|
|
||||||
//
|
|
||||||
// All use of this software is subject to the terms of the Panda 3d
|
|
||||||
// Software license. You should have received a copy of this license
|
|
||||||
// along with this source code; you will also find a current copy of
|
|
||||||
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
|
|
||||||
//
|
|
||||||
// To contact the maintainers of this program write to
|
|
||||||
// panda3d-general@lists.sourceforge.net .
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#include "dxfVertexMap.h"
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
// Function: DXFVertexMap::get_vertex_index
|
|
||||||
// Access: Public
|
|
||||||
// Description: Looks up the vertex in the map, and returns an index
|
|
||||||
// unique to that vertex. If the vertex has been used
|
|
||||||
// before, returns the index used previously; otherwise,
|
|
||||||
// assigns a new, unique index to the vertex and returns
|
|
||||||
// that.
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
int DXFVertexMap::
|
|
||||||
get_vertex_index(const DXFVertex &vert) {
|
|
||||||
iterator vmi;
|
|
||||||
vmi = find(vert);
|
|
||||||
if (vmi != end()) {
|
|
||||||
// The vertex was already here.
|
|
||||||
return (*vmi).second;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Nope, need a new vertex.
|
|
||||||
int index = size();
|
|
||||||
(*this)[vert] = index;
|
|
||||||
|
|
||||||
// That should have added one to the map.
|
|
||||||
nassertr((int)size() == index+1, index);
|
|
||||||
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
|
|
@ -13,3 +13,18 @@
|
|||||||
dxfPoints.cxx dxfPoints.h
|
dxfPoints.cxx dxfPoints.h
|
||||||
|
|
||||||
#end bin_target
|
#end bin_target
|
||||||
|
|
||||||
|
#begin bin_target
|
||||||
|
#define TARGET dxf2egg
|
||||||
|
#define LOCAL_LIBS dxf dxfegg eggbase progbase
|
||||||
|
|
||||||
|
#define OTHER_LIBS \
|
||||||
|
egg:c pandaegg:m \
|
||||||
|
linmath:c pnmimagetypes:c pnmimage:c putil:c mathutil:c event:c panda:m \
|
||||||
|
express:c pandaexpress:m \
|
||||||
|
dtoolutil:c dtoolbase:c dconfig:c dtoolconfig:m dtool:m pystub
|
||||||
|
|
||||||
|
#define SOURCES \
|
||||||
|
dxfToEgg.cxx dxfToEgg.h
|
||||||
|
|
||||||
|
#end bin_target
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#define TARGET ptloader
|
#define TARGET ptloader
|
||||||
#define BUILDING_DLL BUILDING_PTLOADER
|
#define BUILDING_DLL BUILDING_PTLOADER
|
||||||
#define LOCAL_LIBS \
|
#define LOCAL_LIBS \
|
||||||
fltegg flt lwoegg lwo converter pandatoolbase
|
fltegg flt lwoegg lwo dxfegg dxf converter pandatoolbase
|
||||||
#define OTHER_LIBS \
|
#define OTHER_LIBS \
|
||||||
egg2pg:c builder:c egg:c pandaegg:m \
|
egg2pg:c builder:c egg:c pandaegg:m \
|
||||||
mathutil:c linmath:c putil:c \
|
mathutil:c linmath:c putil:c \
|
||||||
|
@ -19,10 +19,11 @@
|
|||||||
#include "config_ptloader.h"
|
#include "config_ptloader.h"
|
||||||
#include "loaderFileTypePandatool.h"
|
#include "loaderFileTypePandatool.h"
|
||||||
|
|
||||||
#include "config_lwo.h"
|
|
||||||
#include "fltToEggConverter.h"
|
|
||||||
#include "config_flt.h"
|
#include "config_flt.h"
|
||||||
|
#include "fltToEggConverter.h"
|
||||||
|
#include "config_lwo.h"
|
||||||
#include "lwoToEggConverter.h"
|
#include "lwoToEggConverter.h"
|
||||||
|
#include "dxfToEggConverter.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#ifdef HAVE_DX
|
#ifdef HAVE_DX
|
||||||
@ -81,6 +82,9 @@ init_libptloader() {
|
|||||||
LwoToEggConverter *lwo = new LwoToEggConverter;
|
LwoToEggConverter *lwo = new LwoToEggConverter;
|
||||||
reg->register_type(new LoaderFileTypePandatool(lwo));
|
reg->register_type(new LoaderFileTypePandatool(lwo));
|
||||||
|
|
||||||
|
DXFToEggConverter *dxf = new DXFToEggConverter;
|
||||||
|
reg->register_type(new LoaderFileTypePandatool(dxf));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#ifdef HAVE_DX
|
#ifdef HAVE_DX
|
||||||
init_libxfile();
|
init_libxfile();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user