Inheritance diagram for NodeToOutlinesBecomeA:
Public Member Functions | |
NodeToOutlinesBecomeA (NodeGroup *pThisGroup) | |
~NodeToOutlinesBecomeA () | |
The default destructor. | |
virtual BOOL | PassBack (NodeRenderableInk *pNewNode, NodeRenderableInk *pCreatedByNode, CCAttrMap *pAttrMap) |
This receives the paths and adds them to the group. | |
Private Member Functions | |
CC_DECLARE_MEMDUMP (NodeToOutlinesBecomeA) | |
Private Attributes | |
NodeGroup * | pGroup |
Definition at line 265 of file camfiltr.cpp.
|
Definition at line 269 of file camfiltr.cpp. 00269 : BecomeA(BECOMEA_PASSBACK,CC_RUNTIME_CLASS(NodePath),NULL), pGroup(pThisGroup) {};
|
|
The default destructor.
Definition at line 7972 of file camfiltr.cpp.
|
|
|
|
This receives the paths and adds them to the group.
Reimplemented from BecomeA. Definition at line 7996 of file camfiltr.cpp. 07997 { 07998 #ifdef DO_EXPORT 07999 ERROR2IF(pGroup == NULL,FALSE,"NULL group"); 08000 ERROR2IF(pNewNode == NULL,FALSE,"NULL new path"); 08001 08002 // We only expect to get paths, so do a check 08003 if (!pNewNode->IsNodePath()) 08004 { 08005 ERROR3("Received a node that's not a NodePath"); 08006 return TRUE; 08007 } 08008 08009 BOOL ok = TRUE; 08010 08011 // Attach the next path as the last child of the group node 08012 pNewNode->AttachNode(pGroup,LASTCHILD); 08013 08014 // Apply the supplied attrs, if there are any 08015 if (pAttrMap != NULL) 08016 { 08017 ok = pNewNode->ApplyAttributes(pAttrMap,TRUE); 08018 // Delete the attr map, and all it's attributes 08019 pAttrMap->DeleteAttributes(); 08020 delete pAttrMap; 08021 pAttrMap = NULL; 08022 } 08023 else 08024 { 08025 // No supplied attrs, so we need to apply the applied attrs of the node that created the 08026 // path to the path itself, so that it will have the same appearence 08027 08028 ok = FALSE; // Assume failure (as we do when promised a bonus) 08029 08030 // Create an attr map with the applied attrs of the "created by" node 08031 pAttrMap = CCAttrMap::MakeAppliedAttrMap(pCreatedByNode); 08032 if (pAttrMap != NULL) 08033 { 08034 ok = pNewNode->ApplyAttributes(pAttrMap,TRUE); // Apply these attrs to the path 08035 // Delete the attr map 08036 delete pAttrMap; 08037 pAttrMap = NULL; 08038 } 08039 } 08040 08041 return ok; 08042 #else 08043 return FALSE; 08044 #endif 08045 }
|
|
Definition at line 276 of file camfiltr.cpp. |