Esempio n. 1
0
NodeTransitPtr deepCloneTree(const Node            *rootNode,
                             const std::string     &shareTypesString,
                             const std::string     &ignoreTypesString)
{
    std::vector<const ReflexiveContainerType *> shareTypes;
    std::vector<const ReflexiveContainerType *> ignoreTypes;
    std::vector<UInt16>                         shareGroupIds;
    std::vector<UInt16>                         ignoreGroupIds;

    appendTypesString(shareTypesString,  shareTypes);
    appendTypesString(ignoreTypesString, ignoreTypes);

    return deepCloneTree(rootNode, shareTypes,    ignoreTypes,
                                   shareGroupIds, ignoreGroupIds);
}
Esempio n. 2
0
NodeTransitPtr cloneTree(const OSG::Node       *rootNode,
                         const std::string     &cloneTypesString,
                         const std::string     &ignoreTypesString)
{
    std::vector<const ReflexiveContainerType *> cloneTypes;
    std::vector<const ReflexiveContainerType *> ignoreTypes;
    std::vector<UInt16>                         cloneGroupIds;
    std::vector<UInt16>                         ignoreGroupIds;

    appendTypesString(cloneTypesString,  cloneTypes);
    appendTypesString(ignoreTypesString, ignoreTypes);

    return cloneTree(rootNode, cloneTypes,    ignoreTypes,
                               cloneGroupIds, ignoreGroupIds);
}
FieldContainerTransitPtr deepClone(      
          OSG::FieldContainer const  *src,
    const std::string                &shareTypesString,
    const std::string                &ignoreTypesString)
{
    std::vector<const ReflexiveContainerType *> shareTypes;
    std::vector<const ReflexiveContainerType *> ignoreTypes;
    std::vector<UInt16>                         shareGroupIds;
    std::vector<UInt16>                         ignoreGroupIds;

    appendTypesString(shareTypesString,  shareTypes);
    appendTypesString(ignoreTypesString, ignoreTypes);

    return deepClone(src, shareTypes,    ignoreTypes,
                          shareGroupIds, ignoreGroupIds);
}
void deepCloneAttachments(
          OSG::AttachmentContainer const *src,
          OSG::AttachmentContainer       *dst,
    const std::string                    &shareTypesString,
    const std::string                    &ignoreTypesString)
{
    std::vector<const ReflexiveContainerType *> shareTypes;
    std::vector<const ReflexiveContainerType *> ignoreTypes;
    std::vector<UInt16>                         shareGroupIds;
    std::vector<UInt16>                         ignoreGroupIds;

    appendTypesString(shareTypesString,  shareTypes);
    appendTypesString(ignoreTypesString, ignoreTypes);

    deepCloneAttachments(src, dst, shareTypes,    ignoreTypes,
                                   shareGroupIds, ignoreGroupIds);
}
void cloneAttachments(
          OSG::AttachmentContainer const *src,
          OSG::AttachmentContainer       *dst,
    const std::string                    &cloneTypesString,
    const std::string                    &ignoreTypesString)
{
    std::vector<const ReflexiveContainerType *> cloneTypes;
    std::vector<const ReflexiveContainerType *> ignoreTypes;
    std::vector<UInt16>                         cloneGroupIds;
    std::vector<UInt16>                         ignoreGroupIds;

    appendTypesString(cloneTypesString,  cloneTypes);
    appendTypesString(ignoreTypesString, ignoreTypes);

    cloneAttachments(src, dst, cloneTypes,    ignoreTypes,
                               cloneGroupIds, ignoreGroupIds);
}