summaryrefslogtreecommitdiff
path: root/src/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/node.c b/src/node.c
deleted file mode 100644
index abf0034..0000000
--- a/src/node.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <string.h>
-
-#include <kalmia.h>
-#include <ezxml.h>
-
-#include "util.h"
-#include "transform.h"
-#include "node.h"
-
-
-ka_node_t * kai_parse_node(kalmia_t *k, ezxml_t tag)
-{
- /* check for incorrect tag name */
- if (strcmp("node", ezxml_name(tag)) != 0)
- return NULL;
-
- /* initialize node */
- ka_node_t *node = kai_next_node(k);
- kai_identity(&(node->transform));
-
- /* get first child */
- ezxml_t t = tag->child;
-
- /* iterate over sub-tags */
- while (t != NULL) {
- const char *t_name = ezxml_name(t);
- ka_matrix_t m;
- if (strcmp(t_name, "matrix") == 0) {
- /* process matrix */
- kai_parse_matrix(&m, t);
- kai_multiply(&(node->transform), node->transform, m);
- }
- else if (strcmp(t_name, "rotate") == 0) {
- /* process rotation */
- kai_parse_rotate(&m, t);
- kai_multiply(&(node->transform), node->transform, m);
- }
- else if (strcmp(t_name, "scale") == 0) {
- /* process scale */
- kai_parse_scale(&m, t);
- kai_multiply(&(node->transform), node->transform, m);
- }
- else if (strcmp(t_name, "translate") == 0) {
- /* process translation */
- kai_parse_translate(&m, t);
- kai_multiply(&(node->transform), node->transform, m);
- }
-
- /* advance to next child node */
- t = t->ordered;
- }
-
- return node;
-}