export particle effects properly

This commit is contained in:
David Rose 2001-06-19 00:35:36 +00:00
parent 05f3511f52
commit 78bc1e00c3
2 changed files with 17 additions and 2 deletions

View File

@ -120,7 +120,7 @@ protected:
// This is a supporting class for iterating through all the arcs via
// begin() .. end().
class ForwardIterator {
class EXPCL_PANDA ForwardIterator {
public:
INLINE_GRAPH ForwardIterator(ArcComponent *comp = NULL);
INLINE_GRAPH NodeRelation *operator * () const;

View File

@ -118,7 +118,9 @@ set_from_node(const NodePath &node_path) {
// Get the texture off the node. We use wrt() to determine the net
// texture that's applied, based on all the arcs from the root; not
// just the bottom arc.
Texture *tex;
Texture *tex = (Texture *)NULL;
/*
NodeTransitionWrapper ntw(TextureTransition::get_class_type());
wrt(gnode, geom_node_path.begin(), geom_node_path.end(),
(Node *)NULL, ntw, RenderRelation::get_class_type());
@ -128,6 +130,19 @@ set_from_node(const NodePath &node_path) {
tex = tt->get_texture();
}
}
*/
// Shoot, wrt() doesn't work across DLL's. Just walk through the
// arcs.
NodePath::iterator npi;
for (npi = geom_node_path.begin(); npi != geom_node_path.end(); ++npi) {
NodeRelation *arc = (*npi);
const TextureTransition *tt;
if (get_transition_into(tt, arc)) {
if (tt->is_on()) {
tex = tt->get_texture();
}
}
}
if (tex == (Texture *)NULL) {
particlesystem_cat.error()