node.cc

来自「计算机图形学~想必是很多人需要的~在此共享一下」· CC 代码 · 共 110 行

CC
110
字号
//Node.cc#include "Node.h"void Node::Traverse(){  if(!KeepMatrix)    glPushMatrix();   Render();  if(LeftChild!=NULL)    LeftChild->Traverse();  if(!KeepMatrix)    glPopMatrix();  if(RightSibling!=NULL)    RightSibling->Traverse();}voidNode::AddChild(Node *node){  if(LeftChild==NULL)    LeftChild=node;  else    {      node->RightSibling=LeftChild;      LeftChild=node;    }}Node::Node(){  KeepMatrix=false;  LeftChild=NULL;  RightSibling=NULL;}Node::~Node(){  if(LeftChild)    delete LeftChild;  LeftChild=NULL;  if(RightSibling)    delete RightSibling;  RightSibling=NULL;}voidNode::GetColor(Enum Color, float *C){  int i;  switch(Color)    {    case BLACK:      for(i=0; i<3; i++)	C[i]=0.0;      break;    case WHITE:      for(i=0; i<3; i++)	C[i]=1.0;      break;    case RED:      C[0]=1.0;      C[1]=0.0;      C[2]=0.0;      break;    case GREEN:      C[0]=0.0;      C[1]=1.0;      C[2]=0.0;      break;    case YELLOW:      C[0]=1.0;      C[1]=1.0;      C[2]=0.0;      break;    case BLUE:      C[0]=0.0;      C[1]=0.0;      C[2]=1.0;      break;    case MAGENTA:      C[0]=1.0;      C[1]=0.0;      C[2]=1.0;      break;    case CYAN:      C[0]=0.0;      C[1]=1.0;      C[2]=1.0;      break;    case GREY:      C[0]=0.5;      C[1]=0.5;      C[2]=0.5;      break;    default:      break;    }}voidNode::Render(){}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?